我们有一个 Wicket 应用程序,其页面包含嵌入的 Youtube 视频。视频嵌入并播放得很好,但显然它导致页面的其余部分无法渲染 - 似乎 DOM 元素来了after尽管嵌入在标记中,但嵌入根本不会显示在页面上。
查看 Chrome 中的错误控制台可以发现:
不安全的 JavaScript 尝试访问
带有 URL 的框架http://example.com/detail/COMMUNICATION/search/com-sonyericsson-hanashi http://example.com/detail/COMMUNICATION/search/com-sonyericsson-hanashi来自带有 URL 的框架。
域、协议和端口必须
匹配。
我在谷歌上搜索了相当多的内容,人们似乎是这么说的它是无害的 https://stackoverflow.com/questions/5806249/error-loading-youtube-video-in-modal-dialog-with-chrome/5806337#5806337并忽略它。这似乎是错误的,在我们的例子中,它实际上破坏了页面。
如果我们更改应用程序,以便通过 ajax 回调动态嵌入视频(用户单击 Wicket AjaxLink),我们仍然会在控制台中收到错误,但至少页面会完全呈现。不幸的是,这对我们不起作用,因为我们需要在用户第一次点击页面时默认加载视频。
Edit:我应该补充一点,虽然错误消息是从 Chrome 控制台获取的,但该错误似乎会影响我尝试过的每个浏览器:Chrome、Safari 和 Firefox。
安全错误不太可能破坏您的页面。看起来错误是从 YouTube 框架内部发生的,这意味着在最坏的情况下,框架的内容将会混乱。
在任何情况下,外部页面的框架/iframe 都不能影响父文档的内容,除非它们来自相同的域和端口号。这是浏览器安全的硬性规则之一。
该错误必须位于标记中的其他位置。有机会看到一些示例标记吗?
[edit]
该错误也可能出现在嵌入代码标记中。或者,如果任何脚本标签直接包含在页面上(而不是 iframe 中),那么它可能就在那里。
通常,当发生这样的问题时,是因为某个地方有未封闭的标签,但也可能是 Javascript。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)