在我的网站中我想检测,是否安装了我的chrome扩展程序。 通常会使用自定义脚本来创建一些
<div id="extensionExists"></div>.
但是,我想在网站javascript运行之前检测扩展名。 由于我不想等待图像完全加载,我使用document.ready()而不是window.onload()。 但是,我未能事先创建一个div。 如果我的内容脚本使用run_at:“document start”,我还无法创建div,如果我使用“document end”,则为时已晚,document.ready()已经运行。
有什么想法吗?
答案 0 :(得分:0)
嗯......据我所知,没有干净的解决方案。我唯一的想法是在文档完全加载之前使用MutationObserver来访问文档但是我没有时间正确地测试它...
var obs = new WebKitMutationObserver(function ( mutations ) {
console.log( mutations );
mutations.forEach(function ( mutation ) {
var newNodes = mutation.addedNodes;
console.log( newNodes );
// newNodes should now contain a NodeList which contains all nodes that were created right now
// you should be able to create your element now
// consider using obs.disconnect(); after you have found your entry point.
});
});
obs.observe( document, { childList: true } );
不保证它会做任何事情。 jsFiddle不允许在文档之前添加脚本,所以我甚至无法在那里测试它。