繁体   English   中英

document.getelementbyid无法正常工作

[英]document.getelementbyid not working

我想通过使用javascript访问iframe来隐藏一些东西,所以我写了这个javascript函数。

function changeCSS(){ 
frame = document.getElementById('frame1'); 
frame.contentWindow.document.getElementById('GlobalTitleAreaImage').style.display='none'; 
}

然后,当我加载iframe时调用了该函数(onload = javascript:changecss())

一切似乎在IE中都可以正常工作,但在Safari中却无法正常工作。 任何想法为什么它会以这种方式以及我应该如何解决。

谢谢

请注意,Javascript本身的框架和位置都必须位于同一域中,这样才能起作用。 如果Safari和IE均来自文件协议,则它们的处理方式也可能不同。

对于不在同一域中的应用程序,请查看与iframe和潜在HTML 5解决方案的跨域通信,并通过库和插件(如portholexssinterfaceeasyxdm等)的后备方法很好地包装了它们

虽然Safari被列为支持内容的Window,但Chrome没有。 为了实现跨浏览器的兼容性,请结合使用contentWindow和contentDocument来确保您点击了受支持的属性。 因此,请尝试:

function changeCSS(){ 
    var frame = document.getElementById('frame1'); 
    var content = frame.contentWindow || frame.contentDocument;
    content.document.getElementById('GlobalTitleAreaImage').style.display='none'; 
}

如果iframe不在同一个域中,则出于安全原因,您不允许这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM