gpt4 book ai didi

javascript - 谷歌浏览器扩展程序 : Passing user highlighted webpage text to a browser_action

转载 作者:行者123 更新时间:2023-11-28 02:56:52 24 4
gpt4 key购买 nike

我正在开发一个 Chrome 扩展程序,需要将突出显示的文本传递到 browser_action 中。我在 Google 网上论坛中找到了以下代码,在编写该代码时它仍然有效 - 但它不再起作用了..

有人知道替代解决方案吗?

背景.html:

<html>
<head>
<script type="text/javascript">
var selection_callbacks = [];

function getSelection(callback) {
selection_callbacks.push(callback);
chrome.tabs.executeScript(null, { file: "contentscript.js" });
};

chrome.extension.onRequest.addListener(function (request) {
var callback = selection_callbacks.shift();
callback(request);
});
</script>
</head>
<body>
</body>
</html>

popup.html:

<html>
<head>
<script type="text/javascript">
function onSelection(text) {
document.getElementById("output").innerHTML = text;
}
chrome.extension.getBackgroundPage().getSelection(onSelection);
</script>
</head>
<body>
<div id="output">
This should be replaced with the selected text
</div>
</body>
</html>

contentscript.js:

chrome.extension.sendRequest(window.getSelection().toString());

最佳答案

您可以使用真实的 content script而不是使用 chrome.extension.executeScript 将 JavaScript 注入(inject)页面。然后,您可以让 background.html 使用 chrome.tabs.sendRequest 向内容脚本询问选择。 .

关于javascript - 谷歌浏览器扩展程序 : Passing user highlighted webpage text to a browser_action,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2385862/

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