谷歌浏览器扩展 - document.body在弹出窗口js文件中为null

时间:2012-04-21 21:00:55

标签: google-chrome-extension

我从谷歌文档开始使用hello world应用程序来编写chrome扩展。 http://code.google.com/chrome/extensions/getstarted.html

我只是将popup.js修改为:

var span = document.createElement("span");
span.innerHTML = "<b>blah</b>";
alert(document.head);
alert(document.body);
document.body.appendChild(span);

我希望这会在我的弹出窗口中显示“blah”,但我将document.body视为null。我是js和chrome的新手,我试图弄清楚这里发生了什么。我做错了什么?

2 个答案:

答案 0 :(得分:1)

运行弹出脚本时,DOM还不存在。您需要在弹出脚本中收听DOMContentLoaded事件。

类似的事情会起作用:

  document.addEventListener('DOMContentLoaded', function(event) {
    console.log(document.body);
  });

答案 1 :(得分:0)

当关闭结束脚本标记时,将直接评估相应的代码。

由于background.js被加载到头部,<body>不存在(尚未)。因此,document.bodynull