我創建一個新的iframe,其追加到身體,然後嘗試獲得其「文件」變量,就像這樣:從jquery插件中獲取iframe的文檔變量?
var $iframe = $("<iframe name='my-frame'>");
$iframe.appendTo($("body"));
var doc = null;
if($.browser.msie){
doc = window.frames["my-frame"].document; // 'access denied' in IE
} else {
doc = $iframe[0].contentWindow.document;
}
doc.close();
這正常獨立,但一旦我嘗試從內做到這一點一個jQuery插件,IE給我'訪問被拒絕'。
(function($) {
$.fn.jqprint = function (options) {
// the above code fails in IE with above error when inserted here
}
})(jQuery);
奇怪的是這兩種方式在IE瀏覽器上自己的,瀏覽器檢查的插入進行調試。
我猜這是某種範圍的問題,'文檔'不能從匿名函數或類似的東西訪問。任何指針?