簡體   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