【发布时间】:2012-08-25 08:53:03
【问题描述】:
又一个跨域 iFrame 问题!我到处搜索并相信这是不可能的,所以这里是:
iframe 的滚动条是该 iframe 窗口元素的一部分,因此由于相同的来源政策,我无法直接设置它们的样式。起初我认为我会很聪明,并在“轨道”容器中使用 jQuery UI 可拖动事件创建一个可滚动的 DIV。我设置了一个虚拟滚动条,一切正常,除了能够滚动 iframe ......再次因为相同的起源问题。
所以..
- 如果 iframe 内容来自不同的域,是否可以设置 iframe 滚动条的样式?
或
- 如果 iframe 内容来自不同的域,是否可以滚动 iframe?
谢谢!
【问题讨论】:
-
我认为两者的答案是否定的。您无法访问或操作来自其他域的内容。
-
人们可能想考虑实际上有很多用户认为滚动条是他们的计算机/软件/浏览界面/主题的一部分,并且不喜欢其他人重新设计它。 只是一个意见。 @Gabriel Santos:好吧..如果你真的想..你可以访问和操作来自另一个域的内容。在您自己的域上使用代理来获取他们的数据,或者更简单,使用yql。然后你只需要在你的 iframe 中展示他们的数据。还有像easyXDM.net这样的“受控”“技术”(如果你控制两个域)
-
刚刚发现在 html5 中添加到 iframe 的新属性,其中一个删除了同源策略限制。仅在 webkit 中支持
标签: javascript iframe scrollbar same-origin-policy