やりたいこと
Chrome拡張を作る
├Chrome拡張でボタンを押す=>Chrome拡張のバックグラウンドに送る (<=これはできました)
├Chrome拡張のバックグラウンドスクリプトから今いるwebサイトの一番上でjs(topにしかない関数)を実行する
└今いるwebサイトでその関数が実行される
問題点
エラーコード:
js
1Error in event handler: ReferenceError: Game is not defined 2 at chrome-extension://<Chrome extension id>/background.js:3:2
※実行したウェブサイトから出てきました。
ソースコード:
js
1//background.js 2chrome.runtime.onMessage.addListener(function() { 3 const amo = window.prompt("amount:") 4 Game.Earn(Number(amo)) // 該当webサイトのtopにしかない関数 5});
js
1//main.js 2$("#test").on("click", () => { 3 chrome.tabs.query({ active: true, currentWindow: true }, function(tabs) { 4 chrome.tabs.sendMessage(tabs[0].id, "test"); 5 }); 6});
json
1//manifest.json 2{ 3 "name": "SAMPLE", 4 "manifest_version": 2, 5 "version": "1.0", 6 "browser_action": { 7 "default_title": "SAMPLE", 8 "default_popup": "main.html" 9 }, 10"background":{ 11 "scripts": ["jq360min.js", "background.js"] 12} 13}
main.html
1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4 <meta charset="UTF-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 6 <meta http-equiv="X-UA-Compatible" content="ie=edge" /> 7 <script src="jq360min.js"></script> 8 <style> 9 body { 10 width: 100px; 11 } 12 </style> 13 </head> 14 <body> 15 <button id="teat">send!</button> 16 <script src="script.js"></script> 17 </body> 18</html>
順番がばらばらになって申し訳ありません_ _
補足
Chrome OS 98.0