一个小问题,而试图建立一个Chrome扩展。目标很简单,我知道现在有关于此事的帖子,但无论我发现什么都不适合我。感觉像在普通脚本(html/js)中工作的内容在chrome扩展中不起作用。JS - Chrome扩展 - 交通选择
我试图做一个简单的扩展,它在点击相应的图标将获得选择(至少文本,如果可能的话更多信息),但不知它不工作。我得到一个选择项目,但它是一个空的选择。
这是代码。 manifest.json的
{
"manifest_version": 2,
"name": "Paster",
"description": "Bla",
"version": "1.0",
"browser_action": {
"default_icon": "camera.png",
"default_title": "Bla"
},
"background": {
"page": "background.html"
},
"permissions": [
"tabs",
"activeTab",
"https://ajax.googleapis.com/",
"clipboardRead",
"clipboardWrite"
]
}
background.html
<textarea id="temp_textarea_draft_paster"></textarea>
<div>BLA BLA BLA</div>
<script src="jquery-3.1.1.min.js"></script>
<script src="background.js"></script>
background.js
chrome.browserAction.onClicked.addListener(function() {
getSelectionText()
});
getSelectionText = function (info, tab) {
selection = window.getSelection();
console.log(selection);
alert('yeah' + selection);
};
如果我从background.html打开开发者控制台中我得到的console.log但与空的选择,无论我选择了什么。警报也弹出,但只是'是的'。
如果我去了镀铬的扩展://ext-id/background.html页,选择一个文本,然后按一下按钮,它有一个选择,包括它的数据...如何来工作的?感觉就像扩展程序没有从选项卡中获得选择,只是从background.html页面中选择。
请参阅这个http://stackoverflow.com/questions/12424631/get-selected-text-in-a-chrome-extension它使用'chrome contextMenu API执行' – nivas
阅读文档。 https://developer.chrome.com/extensions/overview#arch –
我建议你阅读[Chrome扩展概述](https://developer.chrome.com/extensions/overview)(也许还有页面从概述链接)。[体系结构部分](https://developer.ch rome.com/extensions/overview#arch)有全面的架构信息,这些信息应该有助于你理解事物的组织/完成方式。您可能还需要阅读[内容脚本](https://developer.chrome.com/extensions/content_scripts)和[消息传递](https://developer.chrome.com/extensions/messaging)。 – Makyen