gpt4 book ai didi

javascript - 创建一个 chrome 扩展,它在页面上突出显示文本并将其插入 popup.html 中的文本区域

转载 作者:数据小太阳 更新时间:2023-10-29 05:43:33 25 4
gpt4 key购买 nike

我花了几个小时在网上搜索解决方案。我想做的是将页面上突出显示的文本传输到 chrome 扩展的 popup.html 中的文本区域。我想知道是否有人可以向我提供可以执行此操作的扩展的建议源代码。

这是我看过的最相关的线程,我认为它最有帮助 - 查询是相似的。 Button in popup that get selected text - Chrome extension

我尝试复制代码并将其作为扩展运行,它没有获得突出显示的文本。想知道是否有人有任何建议以及如何解决这个问题。非常感谢。

最佳答案

就像您链接的问题的答案一样,您需要使用 Message PassingContent Scripts .该代码已有 2 年多的历史,并且使用了诸如 onRequestgetSelected 等过时的方法。一些简单的修改应该足以将其更新为新的 API。

Popup.html

<!DOCTYPE html> 
<html>
<head>
<script src="jquery-1.8.3.min.js"></script>
<script src="popup.js"></script>
<style>
body { width: 300px; }
textarea { width: 250px; height: 100px;}
</style>
</head>
<body>
<textarea id="text"> </textarea>
<button id="paste">Paste Selection</button>
</body>
</html>

popup.js(以便没有任何内联代码)

$(function(){
$('#paste').click(function(){pasteSelection();});
});
function pasteSelection() {
chrome.tabs.query({active:true, windowId: chrome.windows.WINDOW_ID_CURRENT},
function(tab) {
chrome.tabs.sendMessage(tab[0].id, {method: "getSelection"},
function(response){
var text = document.getElementById('text');
text.innerHTML = response.data;
});
});
}

选择.js

chrome.extension.onMessage.addListener(function(request, sender, sendResponse) {
if (request.method == "getSelection")
sendResponse({data: window.getSelection().toString()});
else
sendResponse({}); // snub them.
});

list .json

{
"name": "Selected Text",
"version": "0.1",
"description": "Selected Text",
"manifest_version": 2,
"browser_action": {
"default_title": "Selected Text",
"default_icon": "online.png",
"default_popup": "popup.html"
},
"permissions": [
"tabs",
"<all_urls>"
],
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["selection.js"],
"run_at": "document_start",
"all_frames": true
}
]
}

Here是源文件的链接。

关于javascript - 创建一个 chrome 扩展,它在页面上突出显示文本并将其插入 popup.html 中的文本区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14349263/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com