获取谷歌浏览器扩展中网页的选定文本
我正在开发一个 Google Chrome 扩展程序。单击弹出窗口时,我希望 popup.html 文件中的输入框包含当前网页的选定文本。
文本框示例:
<input id="searchBox" type="text" />
在网页中选择文本时,文本框应包含所选单词。我尝试使用 chrome.extension.getBackgroundPage().getSelection() ,但它不起作用。
I am developing a Google Chrome extension. When a popup is clicked, I would like the input box present in the popup.html file to contain the selected text of the current webpage.
Example textbox:
<input id="searchBox" type="text" />
When text is selected in a webpage, the textbox should contain the selected word. I tried with chrome.extension.getBackgroundPage().getSelection()
but it is not working.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
由于 Chrome 的极端安全预防措施,您想要做的事情需要大量编码。
chrome.extension.getBackgroundPage().getSelection()
将不起作用,因为“BackgroundPage”不是当前网页。您需要类似的东西:但是,将该文本传输回弹出窗口是一个漫长且令人偏头痛的过程。读
内容脚本和扩展消息传递(如果您准备好迎接挑战)。
What youre trying to do requires quite a bit of coding because of Chrome's extreme security precautions.
chrome.extension.getBackgroundPage().getSelection()
will not work because the "BackgroundPage" is not the current webpage. You need something like:However, to transfer that text back to the popup is a long and migraine-causing process. Read
Contentscripts and Extension Messaging if youre up for the challenge.
这是另一个以字符串形式获取所选文本的简单解决方案,您可以使用此字符串轻松地将 div 元素子元素附加到代码中:
here is another simple solution to get the selected the text in the form of string, you can use this string easily to append a div element child into your code:
谷歌群组上有一个关于此问题的帖子:如何获取来自选择的 HTML 代码?
您可以在控制台或插件中使用它,无论哪种方式。
There was a thread about this on google groups: how to get HTML code from selection?
You can use this in the console or in a plugin, either way.