Colorbox 跨浏览器的一致性

Posted

技术标签:

【中文标题】Colorbox 跨浏览器的一致性【英文标题】:Consistency of Colorbox across browsers 【发布时间】:2012-05-19 05:15:46 【问题描述】:

我已经安装了一个 BigBlueButton 服务器,它似乎工作正常,因为我 可以访问 BBB 演示,也可以从 php 应用程序访问它 使用 BBB API。

当我尝试在模式窗口中打开 BBB 客户端时,问题就开始了 使用 iframe 内容类型使用 Colorbox jQuery 插件创建。当我使用 Firefox 或 Google Chrome 时,它​​按预期工作,因为 BBB 客户端打开并且 用户以主持人或与会者的身份加入会议。

问题 1: 当我尝试在 Internet Explorer 或 Safari 中这样做时, 模态窗口不打开 BBB 客户端。相反,它把我带到 我的 BBB 服务器上的 BBB 演示页面。而且我似乎连BBB都不能加入 模态窗口中的演示。但它变得更糟。我添加了调试 确保在模态窗口中使用的 url 调用的代码 BBB客户端是正确的。如果我简单地将这个 URL 放入 Internet Explorer 或 Safari 中的新选项卡,然后 BBB 客户端打开为 预期的。它只是在模态窗口中似乎没有这样做。

问题 2: 在我使用中的 URL 访问 BBB 客户端后 当我重新加载我的 PHP 应用程序时,浏览器中的另一个选项卡,并且 再次访问该页面,BBB 客户端现在将按预期加载 使用 Colorbox 生成的模态窗口。 (所以,由 BBB API 是正确的)。这种行为对于 IE 和 Safari 是一致的。) 因此,出于某种原因,在浏览器选项卡中访问 BBB 客户端似乎 在 IE 或 Safari 允许我以模式访问它之前是必要的 由 Colorbox 生成的窗口。另外,请注意,一旦我访问了 BBB 客户端在浏览器选项卡中,然后我可以访问任何会议 模态窗口(不仅是我在浏览器选项卡中加入的那个。) 当我关闭浏览器并重新启动时,然后访问 BBB 模态窗口中的客户端不再工作。好像在Colorbox生成的模态窗口中,在IE和Safari中,BBB的所有组件都无法正常加载。

请帮忙。几天来我一直试图解决这个问题 没有运气。有没有其他人有类似的问题并有指导 解决它们?

非常感谢。

【问题讨论】:

如需更多发现,您在 IE 或 Safari 的控制台中看到了什么。 IE 不是最好的,但即使是一点控制台日志也可能会有所帮助。此外,您应该能够单独使用作为 iFrame 内容的 html 页面进行测试。这可能会进一步帮助您隔离问题。更重要的是,再次编辑您的帖子以包括服务器是否位于远程主机、LAN 上,或者您是否通过简单的文件系统调用访问它。最后,服务器是否跟踪尝试连接的日志。我知道 BBB 的 nada,但值得研究。 == KJM 不知道这是否有帮助,它与 BBB 无关,但在颜色框 js 设置中尝试设置 fastIframe:false。这帮助我修复了一个带有 Colorbox 的 IE 错误。 【参考方案1】:

棘手的是您是否从 URL 调用 BBB IPI,例如像

<script src="www.bbb.com/script.js"></script> 

还是本地的

 <script src="js/bbb.js"></script> 

如果它不是本地脚本,请尝试下载它,我遇到过类似的问题,这已经解决了它们,如果您从另一个页面调用 API

<?php include_once "bbb.html" ?>

确保脚本挂钩位于调用页面和被调用页面上。在实时应用上应该没关系,但有时确实如此。

【讨论】:

【参考方案2】:

您是否尝试过启用某些 IE 安全设​​置?我会将域设置为受信任站点,然后将受信任站点的设置更改为自定义级别。

一些可能有帮助的设置:

跨域访问数据源 - 启用 在 IFRAME 中启动程序和文件 - 启用 跨不同域导航窗口和框架 - 启用

【讨论】:

问题发生在IE和Safari中都是一样的,所以这不是一个好的答案。

以上是关于Colorbox 跨浏览器的一致性的主要内容,如果未能解决你的问题,请参考以下文章

vue 如何实现跨域

跨浏览器的事件对象-------EventUtil 中的方法及用法

跨浏览器等效的基本构建块?

归档跨浏览器、跨平台 css/js 错误的网站?

前端跨域问题解决方案

JSONP解决跨域问题