2012-02-22 38 views
1

我試着用jQuery和IE9寫入子窗口。下面是使用jQuery 1.7.1代碼的JS,我使用:在js中寫入IE9的子窗口

var w = window.open(); 

    sQuery("head", w.document).append(sQuery("<link/>").attr("rel", "stylesheet").attr("href", "css/inlinecss.css")); 

    sQuery("body", w.document).append(sQuery("<div/>").addClass("smdisplaychat").append(sQuery(".smdisplaychat").html())); 

此代碼工作完美的在Chrome,FireFox的一半(其失去一些CSS出於某些原因,但是這可能是一個不同的問題),但在IE9中,我得到的只是這個錯誤:

DOM Exception: HIERARCHY_REQUEST_ERR (3) 

在IE9中,它在嘗試使用兩個語句時會引發異常。在MSDN上查詢了error,它的非常通用,任何人都知道爲什麼我不能在那裏插入HTML?

+0

嘗試不jQuery的做這個(即'createElement') – Blender 2012-02-22 21:04:47

+1

檢查相關的問題在這裏: http://stackoverflow.com/questions/1256394/what-exactly-can-cause-an-hierarchy-request- err-dom-exception-3-error – dav 2012-02-22 21:11:19

+0

使用普通ol'javascript時出現同樣的錯誤。 – 2012-02-22 21:23:46

回答

1

我用document.write,它似乎工作,雖然它看起來不漂亮。下面是我改變了我的JS到:

var w = window.open(); 

w.document.write("<!DOCTYPE html><html><head>" + 
    "<link rel='stylesheet' href = 'css/inlinecss.css' />" + 
    "</head><body>" + sQuery("<div/>").addClass("smdisplaychat").append(sQuery(".smdisplaychat").html()).html() + 
    "</body></html>"); 

在一邊,注意,它似乎也已經消除了我在OP提到的FF的CSS問題。