Chrome扩展程序:坚持注入脚本不会执行js

时间:2013-11-25 19:11:52

标签: javascript google-chrome-extension

我正在尝试构建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:是的我之前能够使用相同的代码运行它,但现在它不能运行。

0 个答案:

没有答案