0
我正在使用Google Chrome扩展程序。我在我的popup.js中有一个函数,它填充表update_table。我想从发送重要数据的background.js中调用该函数。问题是background.js上的update_table未定义,如果我将代码复制到该文件中,则不更新popup.html上的表。从背景调用弹出功能。 (Google Chrome扩展程序)
popup.js
function update_table(content, morecontent){
if (!document.getElementsByTagName) return;
tabBody=document.getElementsByTagName("tbody").item(0);
row=document.createElement("tr");
cell1 = document.createElement("td");
cell2 = document.createElement("td");
textnode1=document.createTextNode(content);
textnode2=document.createTextNode(morecontent);
<!-- ... -->
}
popup.html
<!doctype html>
<html>
<head>
<title>Popup Page</title>
<script src="./popup.js" type="text/javascript"></script>
</head>
<body>
<table border='1' id='mytable'>
<tbody>
<tr><td>22</td><td>333</td></tr>
<tr><td>22</td><td>333</td></tr>
</tbody>
</table>
</body>
</html>
background.js
chrome.webRequest.onCompleted.addListener(
function(request) {
update_table(request.type, request.url);
},
{urls: ["*://*/*"]},
["responseHeaders"]
);
个background.html
<!doctype html>
<html>
<head>
<title>Background Page</title>
<script src="./background.js" type="text/javascript"></script>
</head>
<body>
</body>
</html>
[如何与弹出窗口中的background.js进行交互?](http://stackoverflow.com/questions/9537435/how-to-interact-with-background-js-from-the-弹出) – 2012-03-03 21:48:42
3种方式:chrome.extension。(getViews,sendRequest或Port) – hamczu 2012-03-03 22:33:50