我想通过 XMLHTTPRequest 将特定页面中的所有内容“重新链接”到本地网络域。这将导致我进入 GreaseMonkey/NinjaKit 中的 GM_xmlhttpRequest,除了我想在单击链接时运行它,而不是在用户脚本实际运行时运行它......
所以我有类似的东西:
links = document.getElementsByTagName('a');
for (i = 0; i < links.length; i++) {
oldhref = links[i].getAttribute('href');
links[i].setAttribute('href', 'javascript:loadLink(' + oldhref + ')');
}
我知道我可以使用 unsafeWindow 或向文档添加脚本元素以注入loadLink函数。
但是如何在 loadLink 中使用GM_xmlhttpRequest呢?
我查看了0.7.20080121.0 兼容性页面,但我不确定这是否符合我的需要......
我还考虑向页面添加iframe,修改后的链接将加载到iframe中(再次触发用户脚本),但我更喜欢更清洁的解决方案......