2012-07-30 77 views
1

以下代碼在執行window.open('','','width=200,height=100')代碼行後,在IE 8瀏覽器中使用jaavascript錯誤運行。新窗口打開,但運行錯誤「jQuery未定義」。在這裏,我根本不使用jQuery,但是確定的是,我在整個網站中都使用它。在IE8中寫入JavaScript文檔

var newWindow = window.open('','','width=200,height=100')     
newWindow.document.write(someHmtlAsString); 
newWindow.document.close(); 
newWindow.focus(); 

有沒有人有意見,爲什麼會這樣,還是有在IE一些bug(黑客對IE),而頁面呈現這將消除JavaScript錯誤?

感謝

+1

在您打開的窗口中,您需要確保jQuery包含在頁面的HTML中。 – kevin628 2012-07-30 20:59:11

+0

'someHTMLAsString'的內容是什麼? – 2012-07-30 21:01:52

+0

你的意思是newWindow.document.write?什麼是myWindow? – Christophe 2012-07-30 21:03:00

回答

0

你應該,如果你想控制他們的新窗口和iframe中的源設置爲about:blank

你也想用newWindow.contentDocument || newWindow.contentWindow.document
,它可能是你write()open()的文檔是個好主意。

更新:忘了這: 如果打開的窗口有關:空白,它需要時間來加載..
所以你不能寫它一次!
所以要麼檢查它是否加載(onload),然後讓它寫源(我更喜歡這個)。
或設置約50ms的時間(通常),然後寫入新窗口/ iframe。

也注意到xhtml不支持document.write !!

祝你好運!

0

它看起來像你插入的someHmtlAsString包含一些試圖使用jQuery的<script>標籤。檢查它的內容,如果是這樣的話,添加標籤來加載jQuery或更改代碼不使用它。