我正在使用Javascript来打开一个空白窗口,填充它的最小内容并注入一个包含JQuery的脚本标签,但是窗口属性readyState永远无法超过加载状态,因此JQuery永远不会触发。这里是在jsFiddle上的演示。我无法弄清楚为什么弹出窗口无法更新其readyState。
var popup = window.open("", "popup", "height=500,width=700");
var doc = popup.document;
doc.write("<!doctype html><html><head></head><body></body></html>");
var script = doc.createElement("script");
script.type = "text/javascript";
script.src = "https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js";
script.onload = function() {
console.log(doc.readyState);
popup.$(document).ready(function() {
console.log(doc.readyState);
});
}
doc.getElementsByTagName("head")[0].appendChild(script);
这里是没有使用JQuery的类似代码--同样存在"loading"状态下readyState窗口属性无法超越的问题。
var popup = window.open("", "popup", "height=500,width=700");
var doc = popup.document;
doc.write("<!doctype html><html><head></head><body></body></html>");
console.log(doc.readyState);