我正在为Vk评论自动化编写greacemonkey用户脚本。
并且无法理解为什么我无法访问对象。
Vk window obj有两个不同的 Composer 和 composer 对象(相同的单词,但是第一个大写较低)。来自 unsafeWindow Composer是可访问的,但是lowercapital object composer返回undefined。
(function (window, undefined) {
.....
some code
finding post, openning comment form, pasting text
need to call:
unsafeWindow.composer.addMedia.checkMessageURLs("Comment text<br />http://example.com",true);
.....
console.log(unsafeWindow.Composer); // return object
console.log(unsafeWindow.composer); // return undefined
}
如果运行
composer.addMedia.checkMessageURLs("Comment text<br />http://example.com",true);
直接在浏览器控制台中 - 一切正常。
有什么想法吗?
答案 0 :(得分:1)
composer
(小写)是按需创建的。
要从脚本访问它,您需要等待它。类似的东西:
var composerChkTmr = setInterval (doStuffWith_composer, 222);
function doStuffWith_composer () {
if (typeof unsafeWindow.composer === "undefined")
return;
clearInterval (composerChkTmr);
// DO WHATEVER, WITH unsafeWindow.composer HERE.
}