[会插件开发的请进] 关于获取页面内容
firefox吧
全部回复
仅看楼主
level 1
蝉先觉💤 楼主
quantum 的 webexten api 如何获取当前浏览面面的内容?
进一步, 最好是能获得所选区域的内容
2018年08月03日 02点08分 1
level 14
Electrolysis是多进程模型的,background page与网页跑在不同进程,所以说不可能让background page拿到网页DOM的(其实是有CPOW来帮你的,不过这并不是webextension api的一部分……)。
只使用webextension api,想要获取网页的内容,需要在网页中跑一个content script(或者让background page动态inject一段脚本也可以),由后者去访问DOM,并且与background page异步通信
参考 https://developer.mozilla.org/zh-CN/docs/Mozilla/Add-ons/Working_with_multiprocess_Firefox
至于所选区域内容,document.selection……
2018年08月03日 04点08分 3
厉害, 我刚走到了 sendMessage 这一方向, 你说的第一种方式还真没听说过.
2018年08月03日 06点08分
level 1
蝉先觉💤 楼主
@8qwe24657913
可否再请教个问题?
我想通过扩展中的代码打开一个新标签页, 并显示一个本地网页的内容, 有解吗?
由于安全上的限制, 这两种方式都不行
browser.tabs.create({url: "file:///home/xxxx/index.html"});
window.open("file:///home/xxxx/index.html", "_blank")
2018年08月17日 07点08分 4
就……加个file:///*权限(Chrome里这个要用户勾选"允许访问文件网址",Fx不知道),在扩展里放个网页,让那个网页通过 xhr 获取本地网页内容并显示?
2018年08月17日 09点08分
@8qwe24657913 谢谢, 权限我试过, 行不通, 手册里说不允许访问本地文件, 我再试试别的 :)
2018年08月19日 01点08分
@蝉先觉💤 那你可能只能让用户用<input type="file">选文件了……
2018年08月19日 03点08分
@8qwe24657913 需求是要能直接打开文件(显示), 现在有一个应该可行的办法, 通过外部程序中转文件内容, 这个在权限上是允许的
2018年08月20日 00点08分
1