我在开发Chrome扩展程序时遇到问题,有谁知道是否可以从Chrome的contextMenus打开我的扩展程序?用鼠标右键打开不行吗?
示例:在background.js中
chrome.runtime.onInstalled.addListener(function () {
chrome.contextMenus.create({
title: "Test Ex",
contexts: ["all"],
id: "test"
});
});
chrome.contextMenus.onClicked.addListener(function (info, tab) {
if (info.menuItemId === "test") {
chrome.scripting.executeScript({
target: { tabId: tab.id },
function: () => {
chrome.runtime.sendMessage({ action: "executeAuth"
}
});
}
});
在content.js中
chrome.runtime.onMessage.addListener(function (message, sender, sendResponse) {
if (message.action === "executeAuth") {
executeAuth();
}
});
function executeAuth() {
window.location.replace(`../Views/home.html`);
}
但它不工作,有什么办法我可以做到这一点?我尝试了几种解决方案,但没有一个能达到我的目的。
我需要这个问题的帮助,我已经尝试了几件事,但最好的事情是使用弹出窗口,但它的可怕(丑陋)。如果你已经这样做了,你可以发送一个例子,在清单v-3中。
1条答案
按热度按时间zaqlnxep1#
你可以像wOxxOm说的那样解决你的问题。下面是我的解决方案,以同样的方式:
在background.js中:
content.js没有变化。
阅读更多在这里:Chrome extension message passing