2016-05-31 8 views
0

クロムエクステンションを作成しています。ポップアップが開くときにjsスクリプトを実行する必要があります。 background.jsからどうすればいいですか?ポップアップがクロム拡張子で開くときにbackground.jsから何らかのアクションをトリガーする方法

+0

の可能性のある重複した[ポップアップからbackground.jsと対話する方法は?](http://stackoverflow.com/questions/9537435/how-to-interact-with-background- js-from-the-popup) – Cornwell

答えて

3

私はこれがすでにここで尋ねられ答えられていると確信していますが、既存の質問を見つけるよりも簡単に書き直すことができました。 message passingを使用する必要があります。

manifest.jsonを

{ 
    "manifest_version": 2, 

    "name": "My extension", 
    "description": "Start action in background from popup.", 
    "version": "1.0", 

    "browser_action": { 
    "default_title": "My extension", 
    "default_popup": "popup.html" 
    }, 

    "background": { 
    "scripts": ["event.js"] 
    } 
} 

popup.html

<!DOCTYPE html> 
<html> 
<head> 
    <script src="popup.js"></script> 
</head> 
<body> 
<p>Background page has been notified</p> 
</body> 
</html> 

popup.js

chrome.runtime.sendMessage({text: "popup opened"}); 

event.js

chrome.runtime.onMessage.addListener(function(message,sender,sendResponse){ 
    if (message.text == "popup opened") { 
     console.log ("Popup says it was opened."); 
     // Run your script from here 
    } 
}); 
関連する問題