2017-06-10 6 views
0

たとえば、10秒ごとにcurentタブをリロードしてから、各リロード時にそのタブのリンクをクリックする特定のスクリプトを実行します。 背景のjsファイル内のコード:クロム拡張子のページのリロード時に特定のスクリプトファイルを実行

var myInterval = setInterval(test, 10000); 

function test() 
{ 
    chrome.tabs.query({active: true, currentWindow: true}, function(tabs) { 
     chrome.tabs.reload(); 
    }); 
    chrome.tabs.executeScript({ 
     file:"scriptInjection.js" 
    }); 

} 

と私は、この権限を設定manifest.jsonをファイル内:

"background": { 
    "scripts": [ "background.js" ] 
    }, 
    "permissions": [ "tabs", "browsingData", "notifications", "webRequest", "webNavigation", "http://*/", "https://*/" ] 

リロード時に問題が発生し、scriptInjectionでそのタブ内のリンクをクリックしてくださいです。 jsファイルは発生しません。

+0

chrome.tabs.reloadに関数コールバックを追加し、executeScriptを内側に移動します。あなたのコメントのために – wOxxOm

+1

ありがとう、私はこれを行い、問題は解決した。 –

答えて

0

chrom.tabs.reloadにコールバック関数を追加してコールバック関数でexecuteスクリプトを実行すると、問題が解決するようになりましたが、今は別の質問があります。これはscriptInjection.jsファイルの関数にsetTimeoutを使用することができますか?私はsetTimeoutを使用しますが、仕事と別のqusetionは使用できません。コールバックで他のexcuteスクリプトを使用することは可能ですか?

関連する問題