我想尝试类似于对mozilla sdk上的位置栏进行拼写错误修正.用户在位置栏上输入一个URL,并在加载之前进行更改.我试过了:
如看到SDK/pagemod 这里.问题是它在页面开始渲染时运行,而不是在开始下载之前运行.
sdk/tabs =>它没有在开始加载网站之前调用的事件.
以上就是我发现会抓住用户试图进入的网站.我也找到了sdk/system/events,但我发现我唯一可以使用的事件是http-on-modify-request,这确实捕获了每个http请求.问题是,您无法修改该请求的网址.
为了解决这个问题,我见过两个选择:
这个插件的方式 =>获取当前选项卡并在那里加载新的URL.问题很明显,请求可能不是来自用户尝试加载的URL,而是来自页面html中的url.我尝试将请求URL与tabs.activeTab.url进行比较,但是在发送http-on-modify-request事件后它会被设置.
或者这里解释的解决方案我不确定是否可行(这不适用于mozilla sdk).
所以基本上我现在的问题可以解决:
- 在开始加载和更改它之前从位置栏捕获URL的方法(我在sdk上没有看到任何内容)或者 - 知道何时请求对应于用户尝试加载的网站的方式在位置栏或-a方式修改请求(网址)