【问题标题】:How does youtube get the params that you pass into the iframe?youtube 如何获取您传递给 iframe 的参数?
【发布时间】:2012-02-02 20:50:48
【问题描述】:

假设我有这个作为嵌入代码(随机 youtube 视频...):

<iframe
width="560" 
height="315"
src="http://www.youtube-nocookie.com/embed/U5X4N2exOsU"
frameborder="0"
allowfullscreen>

</iframe>

youtube如何知道允许全屏(获取参数)?

我认为这与被压缩并包含在 iframe (http://s.ytimg.com/yt/jsbin/www-embed_core_module-vflyEJLff.js) 中的 javascript 混乱有关

【问题讨论】:

  • U5X4N2exOsU 可能已将所有这些设置序列化到其中。
  • 不,这是该视频的嵌入代码http://www.youtube.com/watch?v=U5X4N2exOsU
  • 默认格式不是嵌入在 URL 中以全屏显示吗? U5X4N2exOsU 只是视频的 ID。

标签: javascript html iframe


【解决方案1】:

IFRAME 上的Expando 属性可通过window.frameElement 属性访问。这是一个例子:

Test1.htm:

<html><body>
<iframe
width="560" 
height="315"
src="Test2.htm"
frameborder="0"
allowfullscreen=123>
</iframe>
</body></html>

Test2.htm:

<html><body>
<script>
document.write(window.allowfullscreen);
</script>
</body></html>

如果 expando 没有值(例如在您的示例中),它将只是 ""

【讨论】:

  • 原来那是我要找的词...但这似乎不适用于单独的域
  • @SeanJA - 在这种情况下,我不确定它是如何工作的 - 我必须调试他们的脚本..
  • 原来只是window.allowfullscreen而不是window.frameElement.allowfullscreen
  • 实际上,我无法让它工作,但在研究中我发现 window.name 可用于 iframe,而无需任何黑客攻击。
  • 在同一个域中工作,但不能在不同域中...必须不接受它
猜你喜欢
  • 2014-10-30
  • 1970-01-01
  • 1970-01-01
  • 2018-07-22
  • 1970-01-01
  • 2012-10-08
  • 2015-07-23
  • 2013-06-01
  • 1970-01-01
相关资源
最近更新 更多