2014-10-27 26 views
2

我一直在試圖編輯一些頁面作爲本地htm文件在我的電腦上,但我遇到了這個問題,其中使用contentWindow屬性的功能不工作時,父頁面和iframe中的頁面是本地文件。當所有的頁面上傳完全相同的代碼工作正常,但不是本地文件。只有在Chrome和Opera中,我遇到了這個問題。在Firefox和Safari瀏覽器甚至Internet Explorer中,contentWindow可以在本地文件中正常工作。爲什麼document.getElementById(id).contentWindow不適用於Chrome中的本地htm文件?

這非常煩人,因爲我正在處理的頁面中有一個動態的iframe調整大小,我不想每次我想在Chrome中測試它們時都需要重新上傳所有頁面主瀏覽器。

Chrome(和Opera)中是否存在導致此問題的某種安全設置,如果可以,則會禁用它?

的代碼就是:

function resizeIframe(iframeName) { 

    document.getElementById(iframeName).style.height = '1000px'; 

    newHeight = document.getElementById(iframeName).contentWindow.document.body.scrollHeight; 

    setTimeout(function() { 
     document.getElementById(iframeName).style.height = newHeight + 'px'; 
    }, 10); 
} 
+0

,如果你表現出somebit你的代碼可能是有用的.. – Azrael 2014-10-27 07:40:52

回答

0

事實證明,這是一個安全的事情,但沒有辦法簡單地從設置菜單將其關閉。唯一的辦法(就我所知)將其關閉(在Windows中)是通過鍵入文件路徑並將--allow-file-access-from-files添加到命令來從命令提示符窗口中打開Chrome線。這也適用於Opera。

不幸的是,所以你必須打開瀏覽器這種方式,您希望測試使用contentWindow屬性頁,每次這並不把它永久關閉。當我使用Chrome的時候,這樣做沒有問題,因爲無論如何我總是在計算機上打開它,但是當我想在Opera中測試某些內容時,這有點煩人。也許別人會發布一種讓它永久存在的方式,但現在這將不得不做。

來源:

Is it likely that future releases of Chrome support contentWindow/contentDocument when iFrame loads a local html file from local html file?

http://www.chrome-allow-file-access-from-file.com/

相關問題