gpt4 book ai didi

javascript - Chrome 扩展程序不与用户交互

转载 作者:行者123 更新时间:2023-12-03 09:42:12 25 4
gpt4 key购买 nike

我正在监听一些表单事件(鼠标双击某些元素),引发一个事件并在我的内容脚本中捕获该事件。我不需要用户与我的分机进行任何直接交互。这是我的 page.js (内容脚本):

chrome.runtime.sendMessage( { method: e.data.methodName, cid: e.data.cbId, jparams: e.data.jsonParams, objectVersion: e.data.objectVersion, objectFile: e.data.objectFile }, function( response ) {
if( !response ){
//errCallback();
}
} );

弹出窗口:

var host_name = "nativeclientapi";
var messageData = null;
var port = null;
// Listen for messages that come from the content script.
chrome.runtime.onMessage.addListener(
function( request, sender, sendResponse ) {
if( request) {
messageData = request;
alert ('hello');
sendResponse( { res: 'done!' } );
}
} );

list :

{
"name": "MyChromeExt.Operarations",
"version": "1.0",
"manifest_version": 2,
"description": "This extension calls a Native API which that API calls some operations.",
"icons": {
"128": "icon.png"
},
"permissions": [
"nativeMessaging", "activeTab"
],
"content_scripts" : [{"matches": ["http://localhost/*","https://localhost/*"], "js": ["page.js"]}]
}

为什么没有调用警报?如果我将 browser_action 添加到 list 并设置弹出页面,那么它就可以工作,但我不需要与扩展程序进行任何交互。

感谢您的帮助。

最佳答案

Why alert is not called?

因为使用该 list ,popup.js 不会在任何地方被引用,并且永远不会被加载。您的扩展程序可能包含大量未使用的文件,而 Chrome 不会猜测哪些文件去了哪里。

浏览器/页面操作当然是 UI 元素。如果您不需要 UI(或想要“始终存在”的持久脚本),则需要 background page (或者更好的是 event page ,但请确保您理解其中的区别)。

总而言之,看看Architecture Overview .

关于javascript - Chrome 扩展程序不与用户交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31155851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com