【发布时间】:2011-06-22 23:09:48
【问题描述】:
我正在尝试为 iFrame 设置“src”属性。它在 FireFox 和 Internet Explorer 上运行良好。但是,在 iPad 移动 safari 上进行测试时,更改 'src' 属性没有任何作用。
我有一个 iFrame,它在 HTML 中设置了“src”属性。
<iframe id="iFrame0" style="margin: 0px; overflow: hidden; padding: 0px; height:80px; width:500px" src='.../loading.gif' frameborder="0"></iframe>
稍后我有一些代码试图更改 src
var iFrame0 = YAHOO.util.Dom.get('iFrame0');
YAHOO.util.Event.addListener(iFrame0, 'load', function() { alert('test'); });
MyWebService.GetDynamicUrl('someparam', function(url) {
iFrame0.src = url;
});
不仅事件不会触发,而且 URL 的内容也不会改变。在我的测试中,我注意到 iFrame0.src 的值确实更改为新传入的 URL,但页面上的内容没有更改。
我正在使用 YUI,但是,为了消除我测试中的潜在问题,我还尝试通过以下方式直接访问 iFrame:
document.getElementById('iFrame0').attribute("src") = '..../newurl.gif';
还是不行。
【问题讨论】:
-
您是否尝试过使用 contentWindow.location = url 或 setAttribute("src", url) 进行修改?
-
我尝试了 setAttribute(YUI 和 DOM 之外的)。没用。我尝试了 contentWindow.location 和 contentWindow.location.href。没用。
-
我一直在尝试其他事情...我尝试更改此处提到的“名称”属性:link。我也试过这样设置:
window.frames[0].location = '....newurl.gif'。仍然没有帮助。 -
这对我来说真的很奇怪。我还没有遇到这个问题,并且定期在移动 safari 上动态注入和修改 iFrames 的 src。您能否发布指向您的代码的链接或提供指向 jsfiddle 的链接?我很好奇这里发生了什么。您是否在其他 iOS 版本上尝试过。 3.2 mobile safari 肯定有问题。它可以在 iPhone 或 iOS > 3.2 上运行吗?
-
我最近在 iOS > 4.0 的 iPhone 上进行了测试。在那里也行不通。遗憾的是,该站点位于 Intranet 上,因此我无法发布指向它的链接。我会继续拔掉:)
标签: javascript iframe mobile-safari