Google chrome extension google chrome扩展名-document.body在弹出js文件中为空
我从google文档中的hello world应用程序开始编写chrome扩展 我只是将popup.js修改为:Google chrome extension google chrome扩展名-document.body在弹出js文件中为空,google-chrome-extension,Google Chrome Extension,我从google文档中的hello world应用程序开始编写chrome扩展 我只是将popup.js修改为: var span = document.createElement("span"); span.innerHTML = "<b>blah</b>"; alert(document.head); alert(document.body); document.body.appendChild(span); var span=document.createElem
var span = document.createElement("span");
span.innerHTML = "<b>blah</b>";
alert(document.head);
alert(document.body);
document.body.appendChild(span);
var span=document.createElement(“span”);
span.innerHTML=“诸如此类”;
警报(文件头);
警报(document.body);
document.body.appendChild(span);
我希望在弹出窗口中显示“blah”,但我得到的document.body为null。我是js和chrome的新手,我正试图弄清楚这里发生了什么。我做错了什么?当重新输入结束脚本标记时,直接计算相应的代码
由于头中加载了
background.js
,因此
还不存在。因此,当弹出脚本运行时,document.body
为null
DOM还不存在。您需要在弹出脚本中收听DOMContentLoaded
事件
类似这样的方法会奏效:
document.addEventListener('DOMContentLoaded', function(event) {
console.log(document.body);
});
我确实考虑过这个问题,但是google的hello world示例又是如何工作的呢@该扩展初始化
XMLHttpRequest
。这将从服务器异步获取资源。因为请求是异步的,所以它是非阻塞的。结果,页面在AJAX请求期间继续加载。当请求完成时,调用该函数。此时已创建了
。