在browserAction中获取非http页面的文本选择

时间:2013-01-13 22:39:57

标签: google-chrome google-chrome-extension

我正在编写Google Chrome扩展程序,该扩展程序会在浏览器中剪切当前文本选择。当我使用chrome.contextMenus时,即使是本地和Chrome内部网页(例如about:version),我也可以选择文本,因为它具有方便的OnClickData.selectionText属性。

使用内容脚本是不可能的,因为它无法在本地/内部页面中注入。

如果我使用browserAction,如何获取本地网页和内部网页的当前文本选择?可能目前不可能,但我可能会错过一些解决方法?

1 个答案:

答案 0 :(得分:0)

chrome-extension://是Chrome的自定义协议,它限制了它的使用。

但是,如果你有

  • chrome://newtab
  • chrome://bookmarks
  • chrome://history 在内部页面列表中,您可以使用覆盖页面进行文本选择。用您自己的页面覆盖这些(或使它们看起来相似)并从这些页面中选择所有事件或文本。

<强>实施例

"chrome_url_overrides":{
    "newtab":"mypage.html"
}

mypage.html是您的自定义页面。

newtabbookmarkshistory页之外,没有办法通过直接或间接方法选择文本。

您可以对所有独立的html页面使用content scripts来获取文本!

参考

P.S:如果您希望获取数据而不是DOM事件,则所有内部页面都有单独的API。