1
A
回答
4
使用GM_xmlhttpRequest的请求,并为createContextualFragment HTML解析。有关使用createContextualFragment的示例,请参阅Best Addons for Greasemonkey。为了解析有效的XML,你可以使用DOMParser.parseFromString。
编辑:这是一个非常简单但完整的例子来说明一切如何组合在一起:
// ==UserScript==
// @name Parse HTML demo
// @namespace
// @include *
// ==/UserScript==
GM_xmlhttpRequest({
method: 'GET',
url: 'http://www.google.com',
onload: function(resp){
var range = document.createRange();
range.setStartAfter(document.body);
var xhr_frag = range.createContextualFragment(resp.responseText);
var xhr_doc = document.implementation.createDocument(null, 'html', null);
xhr_doc.adoptNode(xhr_frag);
xhr_doc.documentElement.appendChild(xhr_frag);
var node = xhr_doc.evaluate("//span//b[@class='gb1']", xhr_doc, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
GM_log("node.localName: " + node.localName);
GM_log("node.textContent: " + node.textContent);
}
});
0
如果您正在使用XML或写得很好XHTML工作,你可以做如下:
// XMLDocument
var doc = new DOMParser().parseFromString(xhr.responseText, "text/xml");
否则:
// HTMLDocument
var doc = document.implementation.createHTMLDocument("");
doc.documentElement.innerHTML = xhr.responseText;
一旦你有了文档,你可以使用任何东西像一个正常的文件。
相关问题
- 1. 使用SimpleXML加载远程URL
- 2. 从phonegap1.2加载远程URL
- 3. 使用远程URL和SSL使用readfile()
- 4. 使用.ajax()加载远程URL - 不起作用
- 5. 重写Greasemonkey和FireFox中的URL部分
- 6. Rails 5从远程URL加载HTML
- 7. 远程分析JVM
- 8. 远程CUDA分析?
- 9. 使用GreaseMonkey更改URL
- 10. PHP和远程URL调用
- 11. 如何使用Carrierwave下载和存储远程图像URL
- 12. 如何使用greasemonkey拆分加载的图片?
- 13. 如何向URL添加参数然后使用Greasemonkey重新加载页面?
- 14. 远程分析Java应用程序
- 15. 远程分析ASP.net应用程序?
- 16. 使用DOMDocument加载远程XML文档
- 17. 使用MediaPlayer的加载远程视频
- 18. 使用Java加载远程库
- 19. 使用DTAttributeTextContentView加载远程图像
- 20. 使用GAPI加载单页分析
- 21. 当Gmail使用jQuery和GreaseMonkey完成加载时检测到
- 22. Jstatd jvisualvm远程分析器
- 23. 使用Select2和Webservice加载远程数据
- 24. 提取远程远程分支和远程分支
- 25. 如何加载和分析SVG文件
- 26. 用GreaseMonkey停止缓慢加载脚本
- 27. Greasemonkey脚本只能用CTRL + F5加载?
- 28. 使用D7进行远程分析(不是内存分析,但是计时...)
- 29. 如何使用多部分下载远程下载文件?
- 30. PHP URL分析和disecting