Moo*_*ose 1 javascript greasemonkey xmlhttprequest getelementbyid gm-xmlhttprequest
我正在运行GM_xmlhttpRequest(使用Greasemonkey脚本),并将其存储responseText到新创建的HTML元素中:
var responseHTML = document.createElement('HTML');
...
onload: function() { responseHTML.innerHTML = response.responseText; }
Run Code Online (Sandbox Code Playgroud)
然后我试图在中找到一个元素responseHTML:
console.log(responseHTML.getElementsByTagName('div'));
console.log(responseHTML.getElementById('result_0'));
Run Code Online (Sandbox Code Playgroud)
第一个工作正常,但第二个则不行。有任何想法吗?
使用DOMParser()转换responseText成可搜索的DOM树。
此外,您尝试搜索/使用从派生的任何内容的尝试都responseText必须在onload函数内部进行。
使用如下代码:
GM_xmlhttpRequest ( {
...
onload: parseAJAX_ResponseHTML,
...
} );
function parseAJAX_ResponseHTML (respObject) {
var parser = new DOMParser ();
var responseDoc = parser.parseFromString (respObject.responseText, "text/html");
console.log (responseDoc.getElementsByTagName('div'));
console.log (responseDoc.getElementById('result_0'));
}
Run Code Online (Sandbox Code Playgroud)
当然,还要验证ID result_0为ID的节点是否确实在返回的HTML中。(使用Firebug,Wireshark等)
| 归档时间: |
|
| 查看次数: |
6189 次 |
| 最近记录: |