【发布时间】:2011-09-14 19:51:45
【问题描述】:
我们有一个 Wicket 应用,其页面包含嵌入的 Youtube 视频。视频嵌入并播放良好,但显然它会导致页面的其余部分无法呈现 - 似乎嵌入后 的 DOM 元素根本不会显示在页面上,尽管在标记。
查看 Chrome 中的错误控制台会发现:
不安全的 JavaScript 尝试访问 带有 URL 的框架 http://example.com/detail/COMMUNICATION/search/com-sonyericsson-hanashi 从带有 URL 的框架 http://www.youtube.com/embed/eJY7_De5opI?enablejsapi=1&autohide=1&showinfo=1。 域、协议和端口必须 匹配。
我已经用谷歌搜索了很多,人们似乎在说it's innocuous 并忽略它。这似乎是错误的,在我们的例子中它实际上破坏了页面。
如果我们更改我们的应用程序,以便通过 ajax 回调(用户单击 Wicket AjaxLink)动态嵌入视频,我们仍然会在控制台中收到错误,但至少页面可以完全呈现。不幸的是,这对我们不起作用,因为我们需要在用户第一次点击页面时默认加载视频。
编辑:我应该补充一点,虽然错误消息来自 Chrome 控制台,但该错误似乎影响了我尝试过的所有浏览器:Chrome、Safari 和 Firefox。
【问题讨论】:
-
我知道这是一个旧项目,但你检查过 Facebook 是如何做到的吗?他们不会每次都出错。他们使用旧的
<embed>标签,但他们在 facebook iFrame 中执行此操作(我相信我完全正确)。 -
对我来说似乎不是无害的。在我从
<iframe>切换到<embed>代码之前,我的 JavaScript API 调用不起作用。
标签: javascript iframe youtube wicket