2013-08-25 61 views
0

您好我正在学习构建Chrome扩展,并且对于此字段而言是非常新的。我正在研究一个非常基本的扩展,甚至在我开始执行主要任务之前,我被困在我的演示代码中。我只是希望打印“你好”或我的段落标记中的任何消息,当我点击我的扩展名。无法从Chrome扩展中的外部js访问HTML元素

下面是HTML代码:

<!DOCTYPE html> 
<html> 
    <head> 
     <title>hi</title> 
     <style> 
     p 
     { 
      color:red; 
      font-size:20px; 
     } 
     </style> 
     <script src="getMSG.js"></script> 
    </head> 

    <body> 
     <p id='content'></p> 
    </body> 
</html> 

这里是getMSG.js代码:

document.getElementById('content').innerHTML = 'Hello'; 

我extentsion是工作得很好,当我简单地写了 “Hello World” 的我HTML代码。但现在当我这样做时,我根本没有输出。请有人可以帮忙吗?在此先感谢:)

回答

3

要访问DOM元素的属性,你需要做的操作,当窗口负载:

// Using pure JavaScript 
window.onload = function() { 
    document.getElementById('content').innerHTML = 'Hello'; 
} 
2

我测试了你的代码,它不起作用,我认为内容页面没有完全加载, 所以最好在你的“getMSG.js”中使用jQuery伴随此代码:

$(document).ready(function() { 
    document.getElementById('content').innerHTML = 'Hello'; 
}); 

工作正常,我。

+0

感谢很多:) –

+0

@DarthCoder:欢迎您!由于我不太喜欢原始JavaScript,我想知道是否可以在Chrome扩展中使用最喜欢的JavaScript库jQuery。事实证明,这实际上是非常简单的。它基本上可以像你期望的那样开箱即用。 – Aria