2013-03-01 41 views
1

我不明白我的代碼片段,它完全適用於chrome(尚未在ff中測試過),但它在IE中聲明「Invalid argument」錯誤,Is有什麼辦法可以解決這個問題?

window.parent.$('#tdDealItem').append($wrap); 
+0

用'window.parent。$()'或用本地'$()'創建'$ wrap'嗎? – 2013-03-01 09:49:56

+0

試試看父母。$('#tdDealItem')。append($ wrap);此外,iframe與父代在同一個域上的內容是? IE有一些嚴格的權限規則,所以你可能會遇到其中之一。 – cernunnos 2013-03-01 09:52:14

+0

是的,iframe的內容與父代在同一個域內。 – Norks 2013-03-01 10:00:13

回答

1

您是否嘗試過取出「窗口」部分,只用parent.$('#tdDealItem').append($wrap);

+0

是的,我試過了,我也試過這種方式$('#tdDealItem',parent.document).append($ wrap);但無濟於事 – Norks 2013-03-01 09:51:17

+1

這很好......謝謝 – Norks 2013-03-01 12:38:54

0

試試這個,

$(w.document.body).$('#tdDealItem').append($wrap); 
0

我已經與IE嵌入功能於Silverlight的同樣的問題以Silverlight的WebBrowser控件的形式。

的修復是一個有點過奇怪,我不知道我的理解爲什麼,但是,以我的解決方案,並把它應用到你的,它只是把parent.jQuery到它自己的變量,即一個案例:

var parentjq = parent.jQuery; 
parentjq("#tdDealItem").append($wrap); 

出於某種原因,IE瀏覽器在-SL不喜歡的語法parent.jQuery(...).,給我的「對象不支持方法‘的jQuery’的這個屬性」。

值得注意的是,這隻發生在IE-in-SL中:IE7嚴格運行在IE7瀏覽器模式下並沒有出現同樣的問題。但是YMMV。

對於好奇(和完整性),我有問題/錯誤消息:

var fldid = parent.$("body").data("dateFieldId"); 

但分裂成後:

var parentjq = parent.jQuery; 
var fldid = parentjq("body").data("dateFieldId"); 

錯誤走了,我得到的權利結果。