我正在尝试构建chrome扩展。哪个会在页面上进行一些搜索并将结果发布到扩展名。
我很难运行这个。每当我尝试运行扩展时,它就会停留在注入脚本上。
我的 re.js
function printDetails(document_r) {
var test = document_r.body;
var text = test.innerText;
var delim="^^ validatedCache :";
var endlim="</site>";
var idx = text.indexOf(delim);
var endInd=text.indexOf(endlim);
var tag = "accountName";
var regex = "<" + tag + ">(.*?)<\/" + tag + ">";
var regexg = new RegExp(regex,"g");
var matches = [];
while (match = regexg.exec(text.substring(idx+delim.length,endInd))) matches.push("Account Name::::::"+match[1]);
return matches;
}
chrome.extension.sendMessage({
action: "getSource",
source: "\n\n\n DETAILS>>>>>\n\n"+printDetails(document)
});
selection.js
chrome.extension.onMessage.addListener(function(request, sender) {
if (request.action == "getSource") {
message.innerText = request.source;
}
});
function onWindowLoad() {
var message = document.querySelector('#message');
chrome.tabs.executeScript(null, {
file: "re.js"
}, function() {
// If you try and inject into an extensions page or the webstore/NTP you'll get an error
if (chrome.extension.lastError) {
message.innerText = 'There was an error injecting script : \n' + chrome.extension.lastError.message;
}
});
}
window.onload = onWindowLoad;
popup.html
<!DOCTYPE html>
<html style=''>
<head>
<script src='selection.js'></script>
</head>
<body style="background-image:url(12.png);width:400px; border: 2px solid black;background-color:white;">
<div id='message'>Injecting Script....</div>
</body>
</html>
我知道这两行只有一些问题。
var test = document_r.body;
var text = test.innerText;
我不想把网页(内容)提取成一个字符串,我希望通过以上两行代码来完成。
然后对代码执行一些字符串操作。如果我在带有虚拟字符串的控制台中直接运行此代码。我可以执行它,所以这两行都有问题。
我的扩展程序停留在“注入脚本...”
一些帮助将不胜感激。
PS:是的我之前能够使用相同的代码运行它,但现在它不能运行。