我做了一个火狐扩展,它使用
xmlhttprequest
.
我的扩展插件在主Firefox旁边有自己的窗口。
我的扩展的想法是在内存中加载一个网页,修改它,然后在火狐新打开的选项卡中发布。
网页有一个ID为“content”的DIV。这就是我要修改的DIV。我已经在greasemonkey脚本中使用了xpath alot,所以我想在扩展中使用它,但是,我有一个问题。它看起来不像我想要的那样有效。我总是得到0的结果。
var pageContents = result.responseText; //webpage which was loaded via xmlhttprequest
var localDiv = document.createElement("div"); //div to keep webpage data
localDiv.innerHTML = pageContents;
// trying to evaluate and get the div i need
var rList = document.evaluate('//div[@id="content"]', localDiv, null XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
如我所说,结果总是0。现在我已经创建了本地DIV来存储网站数据,因为我无法使用xpath解析文本。和
document
在这种情况下是我的扩展名
XUL
文档/窗口。
我确实希望它能起作用,但我错了。
我知道如何用
string.indexOf(str)
然后
slice(..)
. 但是,这很慢而且不方便,因为我需要修改内容。更改此分区内许多表单的背景和边框。对于此作业,我没有看到比评估xpath以获取所需的所有节点更好的方法。
所以主要的问题是,如何使用xpath来解析firefox扩展中加载的网页?
谢谢你