swfobject 不适用于 Chrome 中的 https

Posted

技术标签:

【中文标题】swfobject 不适用于 Chrome 中的 https【英文标题】:swfobject does not work on https in Chrome 【发布时间】:2013-02-01 17:09:59 【问题描述】:

我正在尝试通过以下 javascript 代码将 swf 文件嵌入到页面 (google app engine page):

        <script type="text/javascript">
        //This example uses dynamic publishing with swfObject. Login is handled in the swf

        //Note we are passing in attribute object with a 'name' property that is same value as the 'id'. This is REQUIRED for Chrome/Mozilla browsers           
        swfobject.embedSWF("loader.swf", "flashContent", "640", "480", "10.2", null, null, null, name:"flashContent");            

        //REST OF THE CODE
    </script>

它在HTTP 上正常工作,但内容在HTTPS 上不起作用。我用谷歌搜索了很多,但我没有找到解决方案。我需要为 Secure Canvas URL 使用 HTTPS 来创建 facebook 应用程序。正如您在下面的 cmets 中看到的,https 可以在 safari 上运行,但不能在 Chrome 上运行。

任何想法都会受到赞赏。

【问题讨论】:

嗯,我在两个 URL 上看到了相同的内容。我不确定它是否正常工作。我看到一个预加载器在这两种情况下都 100% 运行,但在那之后就没有别的了。进度条一直向右移动,但没有其他任何事情发生。之后是不是应该做点什么?我认为 swfobject 不是问题,因为我在 http 和 https 上看到相同的 Flash 内容。 如果你能看到进度条,说明页面嵌入了swf对象,你没有我说的问题,你的浏览器是什么? 我在 Mac OS 上的 Safari 和 Firefox 中尝试过——工作正常。但是,使用 Chrome 时,我会得到“替代”内容,告诉我需要安装 Flash Player 10.2 或更高版本。我在 Chrome 中安装了 Flash 11.5。我想这毕竟是 w/swfobject 的问题,但仅限于 Chrome :( 是的,你是对的,我正在尝试使用 Chrome。所以你怎么看?我们如何在 Chrome 上处理这个问题? 问题似乎出在检测 Flash 播放器版本的 swfobject 代码上。我会看那里并尝试调试它。尝试确定其检测的版本号,尝试(作为测试)允许早期版本的 Flash 等。 【参考方案1】:

我可以看到https://radmahdi.appspot.com/facebook/userstatusweb/index.html 现在正在为您工作,一旦您按照我在评论中的建议将 swfobject 的链接从 HTTP 更改为 HTTPS :)

你可以的

//ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js

作为您的链接,在这种情况下,使用的协议将与加载的页面相关。这可能更整洁。

如果您对解决方案感到满意,请将问题标记为已回答。

【讨论】:

以上是关于swfobject 不适用于 Chrome 中的 https的主要内容,如果未能解决你的问题,请参考以下文章

Chrome 中的断点不适用于 Sourcemap

CSS 过渡不适用于 chrome 45 中的 scale(0) + 硬件加速?

内容安全策略“数据”不适用于 Chrome 28 中的 base64 图像

错误处理不适用于 Chrome 中的 HTML5 地理位置

复制到剪贴板不适用于 VueJS 中的 Chrome 浏览器

window.getComputedStyle 不适用于除 Chrome 之外的其他浏览器中的速记属性