Call a function in background from popup
是否可以从弹出窗口中在后台脚本中调用函数?除了这个问题,我无法解释得更多。这不是我尝试做的错误,而是我完全不知道该怎么做的错误。我想使在弹出页面中单击一个按钮成为可能,该按钮将调用在后台页面中定义的函数。
试试这个
1 2 | var bgPage = chrome.extension.getBackgroundPage(); var dat = bgPage.paste(); // Here paste() is a function that returns value. |
使用消息传递确实可以实现。
popup.js
1 2 3 | $("#button").click(function(){ chrome.runtime.sendMessage({ msg:"startFunc" }); }); |
background.js
1 2 3 4 5 6 7 8 9 | var func = function(){ alert("Success!"); }; chrome.runtime.onMessage.addListener( function(request, sender, sendResponse){ if(request.msg =="startFunc") func(); } ); |
您可以仅在popup.js中调用background.js函数。您无需执行任何其他操作。至少我是这种情况。
编辑:您可能需要添加
"scripts":"background.js"
}
<清单>在manifest.json文件中。
您仍然可以使用
但这已被弃用。
使用