我刚写完一个chrome扩展的Alpha,它从字典网页解析日语并将其呈现为闪存卡。它是传递DOM并解析所有类型数据的单个js。需要帮助才能更好地理解chrome扩展
现在,扩展程序正在网页内部创建一个div元素来存储所有数据,并且我想将其从我的扩展名移到弹出窗口。
所以我添加了一个弹出式窗口,点击该图标
"browser_action": {
"default_icon": "icon19.png",
"default_title": "Tangorin extention is active",
"popup": "popup.html"
}
什么都没有发生,所以我认为这可能是因为我告诉他我的点击事件处理程序打开一个特定的页面,所以我需要的东西会告诉它打开弹出窗口。我望向外面,发现一些信息要在你的扩展内部进行连接。
所以我也跟着谷歌公会和不喜欢的东西,在我的事件处理程序
chrome.browserAction.onClicked.addListener(function(activeTab)
{
var newURL = "http://tangorin.com/examples/";
chrome.tabs.create({ url: newURL });
});
chrome.runtime.onMessageExternal.addListener(
function(request, sender, sendResponse) {
console.log(sender.tab ?
"from a content script:" + sender.tab.url :
"from the extension");
if (request.greeting == "hello")
console.log("message");
});
另外,我觉得被称为从网页,所以我添加权限和东西,将它称为我的脚本发送消息。
"externally_connectable": {
"matches": ["*://*.tangorin.com/examples/*"]
}
而且会在我的脚本上调用它。
function print_results() {
//bla bla
chrome.runtime.sendMessage({greeting: "hello"});
}
而且什么也没有发生,chrome.runtime.sendMessage
不会触发eventHandler中的函数。
我在正确的轨道上吗?或者有更好的方法来打开弹出窗口? 我对扩展dev还不是很了解,但是直到现在我才设法让它工作。
由于提前, 或者
编辑:也许不是我可以打开默认弹出时,由于被内容脚本创建的对象,在用户点击?
什么都在开发人员工具控制台来表明任何问题? –
Chrome扩展程序是您希望在页面加载时运行的额外脚本。在将脚本作为扩展运行之前,先在chrome脚本栏上运行脚本以查看日志和错误。 – Vinayk93
@ Vinayk93除了消息部分外,所有脚本都可以工作。 –