你如何重写网页chrome.extension.executeScript的代码

时间:2011-07-18 13:11:30

标签: javascript javascript-events google-chrome-extension javascript-injection

我正在编写一个Chrome扩展程序,需要能够将代码添加到正在查看的网页中。现在我的背景页面中有

chrome.tabs.onUpdated.addListener(function(tabId, info) {
    if (info.status=="complete") {
        chrome.tabs.executeScript(null, {file: "injectme.js"})
    }
})

和注入的脚本injectme.js,其中包含一个看起来像这样的函数

function() {
    if (!document.getElementById('searchforme')) {
        x=document.createElement('script')
        x.setAttribute('src','https://sites.google.com/site/searchformechrome/files/theinjectedcode.js')
        x.setAttribute('id','searchforme')
        document.appendChild(x)
        alert('it is finished')
    } else {
        alert('so close')
    }
}

我的问题是如何在加载时调用此函数,以便将脚本插入到网页中。

1 个答案:

答案 0 :(得分:0)

如果我理解你:) 您需要做的就是在以下内容中扭曲当前函数:

 (function () {
  // your code
  if (!document.getElementById('searchforme')) {
      x=document.createElement('script')
      x.setAttribute('src','https://sites.google.com/site/searchformechrome/files/theinjectedcode.js')
      x.setAttribute('id','searchforme')
      document.appendChild(x)
      alert('it is finished')
    } else {
     alert('so close')
  }
}());

所以它将是一个'立即调用'功能。