【发布时间】:2016-03-14 04:59:31
【问题描述】:
我正在开发一个 chrome 扩展,其中涉及获取当前选项卡的选定文本。这是我使用的 html 文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<script>
chrome.tabs.executeScript( {
code: "window.getSelection().toString();"
}, function(selection) {
document.getElementById("output").value = selection[0];
});
</script>
</head>
<body>
<div id="output"></div>
</body>
</html>
它不起作用,为什么?以下是来自Chrome App & Extension Developer Tool的错误信息,其中一些错误信息被省略了,抱歉我还没弄清楚如何在这里查看完整的错误信息,查看详细信息只给我堆栈跟踪,而不是完整的错误消息。
【问题讨论】:
-
您不能在扩展页面中包含内联脚本,请参阅documentation。将您的代码移动到一个单独的脚本文件(例如“popup.js”)并使用脚本标签从您的 popup.html 中引用它。此外,这并不重要,但 DIV 没有 value 属性。请改用 textarea 元素。
-
指出的重复是正确的作为第一步,但是,这里没有足够的详细信息 - 您显示的是扩展程序的哪一部分?弹出窗口?背景页面?
-
确实如此。我确实考虑过,但假设代码取自this post using a popup。
标签: javascript google-chrome google-chrome-extension