我正在创建一个 chrome 扩展。它有一个浏览器动作。单击该按钮时,将运行一个 javascript 文件。该文件创建一个新选项卡。在该选项卡中,有 div。我试图操纵他们的内容。重新表述这个问题:如何在第一次单击按钮时让它工作。(注意:如果我单击按钮然后刷新页面,则该版本的代码将有效,直到我更改代码然后再次刷新页面。)
从 Chrome 的帮助页面中,我发现:
// 通过监听文档上的 // 事件,在 DOM 完全加载后添加事件监听器
DOMContentLoaded
,并在它触发时将监听器添加到 // 特定元素。document.addEventListener('DOMContentLoaded', function () { document.querySelector('button').addEventListener('click', clickHandler); });
http://developer.chrome.com/extensions/contentSecurityPolicy.html
清单中的 Javascript 文件:
chrome.browserAction.onClicked.addListener(function(tab) {
//This is to put the manager one tab to the right
var myIndex = tab.index;
chrome.tabs.create({index : myIndex + 1, url: "newTab.html"});
新标签.html
<script type="text/javascript" src="jquery.min-1.8.2.js"></script>
<script type="text/javascript" src="functionality02.js"></script>
<html><head>
<title>Title</title>
</head><body>
<div id='try'></div>
</body></html>
功能02.js
function letsTryThis2(){
$("#try").append("<div>Some Content.</div>");
}
document.addEventListener('DOMContentLoaded', letsTryThis2);