首先看看這個post的正確答案。在我看來,這可能是你的問題。
如果不是那麼也許這個快速劈我從另一個post看到可能的幫助。
var frame = $('<iframe>')
.attr('id', 'myIframe')
.addClass('someClass')
.attr('src', 'javascript:(function() {' +'document.open();document.domain=\'myDomain.net\';document.close();' + '})();');
.appendTo($('#someDiv'));
不知道這是否是相關的,但我也發現了這個網站link上。
好的,以迴應您的評論。 javascript函數不分配源代碼,它設置的文檔域在I.E中顯然沒有正確完成。
查看這個link的另一個例子和解釋。
所以我會嘗試可能是這樣的......
var wrapUpIframe = document.createElement("iframe");
wrapUpIframe.id = 'WrapUpDialog3';
wrapUpIframe.src = setSrc();
document.body.appendChild(wrapUpIframe);
function setSrc(){document.open();document.domain=\'dc.com\';document.close();return 'WrapUpDialog.html';}
你可能有玩弄如何運行設置文檔域函數後返回實際的URL的iframe中。但從我所看到的這可能適用於你。
我有一個類似的問題,但不完全相同的問題,這就是爲什麼我不能給你一個確切的修復。設置文檔域的功能是讓我通過訪問被拒絕的錯誤。
您也可以將其添加到您的主文檔,以確保域匹配。
<script type="text/javascript">
document.domain = 'dc.com';
</script>
我也想添加一個link一些解釋上明確設置,我以前用的document.domain的。這在過去對我有幫助。特別是這個報價...
Explicitly setting the value indicates intent to "cooperate" with a script on another subdomain (under the same parent domain).
多爾,你可能有時間問題。我發現了一些我剛測試過的代碼(這裏),對我來說很有用。它確保在嘗試訪問contentWindow之前加載iframe。
var iframe = document.createElement("iframe");
iframe.src = "WrapUpDialog.html";
if (iframe.attachEvent){
iframe.attachEvent("onload", function(){
alert("Local iframe is now loaded.");
});
} else {
iframe.onload = function(){
alert("Local iframe is now loaded.");
};
}
document.body.appendChild(iframe);
var iframeWindow = iframe.contentWindow || iframe.contentDocument.parentWindow;
來源
2013-03-06 18:36:26
Vic
在什麼瀏覽器中你會得到這種行爲?如果我將你的代碼輸入到Chrome調試器中,我可以很好地訪問'el.contentWindow'。請注意,不只是域需要匹配,而是完整的源,所以你可以嘗試比較兩個窗口中的「document.location.origin」。 – 2013-02-21 15:17:29
@nhaldimann我與IE9 – 2013-02-21 15:19:47
工作,這已經在這裏找到答案: http://stackoverflow.com/questions/364952/jquery-javascript-accessing-contents-of-an-iframe 伯特蘭 – Bertrand 2013-03-05 19:49:29