Как переписать код веб-страницы chrome.extension.executeScript - PullRequest
0 голосов
/ 18 июля 2011

Я пишу расширение 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 голосов
/ 19 июля 2011

Если я вас понял :) Все, что вам нужно сделать, это деформировать текущую функцию внутри чего-то вроде:

 (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')
  }
}());

, так что это будет функция «немедленного вызова».

...