【发布时间】:2020-04-20 21:51:09
【问题描述】:
我正在尝试为 chrome 做一个简单的测试扩展。这是应该发生的:
- 用户突出显示一些文本
- 用户按下扩展并按下弹出窗口中的按钮
- 有一个警报显示突出显示的文本
问题是当按下扩展按钮时文本被取消选择,所以警报什么也不显示。我已经阅读了许多与此问题相关的 StackOverflow 答案,但我是 JS 新手,无法弄清楚。
这些是我的文件:
manifest.json
{
"name": "Test",
"version": "1.0",
"manifest_version": 2,
"content_scripts": [
{
"matches": ["<all_urls>"],
"js":["content.js"],
}
],
"browser_action":{
"default_popup": "popup.html",
"default_title": "Text Finder"
}
}
popup.html
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<button>Show Text</button>
<script src="popup.js" charset="ut-8"></script>
</body>
</html>
popup.js
function getSelectionText() {
var text = "";
if (window.getSelection) {
text = window.getSelection().toString();
} else if (document.selection && document.selection.type != "Control") {
text = document.selection.createRange().text;
}
return text
}
document.addEventListener('DOMContentLoaded', function () {
document.querySelector('button').addEventListener('click', onclick, false)
function onclick () {
chrome.tabs.query({currentWindow: true, active: true},
function (tabs) {
chrome.tabs.sendMessage(tabs[0].id, getSelectionText())
}
)
}
}, false)
content.js
chrome.runtime.onMessage.addListener(function (request){
alert(request)
})
【问题讨论】:
标签: javascript html google-chrome google-chrome-extension