对于我目前正在处理的项目,我需要知道是否可以调用Chrome扩展程序。
即,单击我页面上的按钮(或链接)会调用“Read It”扩展名,就像那样。
答案 0 :(得分:3)
您可以将content-script
注入每个页面(在extension manifest中注册)并更改页面html,以使用您的自定义ID添加button
或a
。< / p>
execution environment example解释了如何触发从页面到内容脚本的事件。管理触发器后,您可以执行任何您想要的扩展逻辑。
另请注意,这需要将扩展程序content-script
注入用户访问的每个页面。如果那就是您要求的内容,则无法从页面实际触发content-script
的执行。
答案 1 :(得分:1)
是的,这是可能的。您可以编写一个所谓的Content Script来更改页面并将事件处理程序挂钩到链接或按钮。
答案 2 :(得分:1)
使用background.js和content.js创建清单。 使用
chrome.tabs.sendMessage(tabId, {}, function() { ... });
在后台向内容脚本发送消息,该内容脚本将注入到安装和启用扩展时打开的每个网页中。 在content.js脚本上使用
chrome.runtime.onMessage.addListener(function(req, sender, callback) {
< here use condition to find out when this exetnsion's popup.html should be opened and call the callback function which was passed in the argument list intially >
callback("something");
});
这里回调函数在background.js中定义并传递给content.js是用于打开新扩展窗口的代码,例如
var panel_props = {
type: 'panel',
'width': width,
'height': height,
'left': left,
'top': top,
url: "chrome-extension://" + <extensionid>+ "/index.html"
}
chrome.windows.create(panel_props ,function (newWindow) {
vid = newWindow.id;
});
答案 3 :(得分:0)