【发布时间】:2012-03-03 21:40:59
【问题描述】:
我正在使用 google chrome 扩展程序。我的 popup.js 中有一个填充表格 update_table 的函数。我想从发送重要数据的 background.js 调用该函数。问题是 background.js 上的 update_table 没有定义,如果我将代码复制到该文件中,则不要更新 popup.html 上的表。
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>
【问题讨论】:
-
3 种方式:chrome.extension.(getViews, sendRequest or Port)
标签: javascript google-chrome-extension