我有这个用于 Gmail 的脚本。它在canvas_frame
iframe 内运行。
我想使用parent.document
. 但在 Chrome 中告诉我它是未定义的。在 Firefox 中运行良好,但在 Chrome 上运行良好。
那么我究竟如何在 Chrome 中从 iframe 中获取父文档的句柄。
铬版本:11.0.686.3
这是失败的代码:
function init() {
try {
if(parent == null) {
console.log(typeof parent);
window.setTimeout(init, 200);
return;
}
// SOME MORE STUFF
} catch(e) { console.log(e) }
}
这部分只是undefined
在日志窗口中无休止地输出。
这是一个产生相同结果的测试脚本。它undefined
不断地输出cQ
。
// ==UserScript==
// @name TEST SCRIPT FOR CHROME
// @version 1.0
// @namespace 1nfected
// @description TEST
// @include http://mail.google.com/*
// @include https://mail.google.com/*
// ==/UserScript==
(function() {
if(document.documentElement.className != 'cQ') {
console.log('not our frame');
return;
}
function init() {
if(window.parent == null) {
console.log(typeof window.parent);
console.log(document.documentElement.className);
window.setTimeout(init, 1000);
return;
}
console.log('Found the parent');
}
init();
})();