这是我遇到的一些困难。我有一个本地客户端脚本,该脚本需要允许用户获取远程网页并在结果页面中搜索表单。为了做到这一点(不使用正则表达式),我需要将文档解析为一个完全可遍历的DOM对象。
我想强调一些限制:
我不想使用库(如jQuery)。我在这里要做的事情太肿了。
在任何情况下都不应执行远程页面中的脚本(出于安全原因)。
诸如的DOM API getElementsByTagName必须可用。
它仅需要在Internet Explorer中工作,但至少需要7个版本。
假装我无权访问服务器。我可以,但是我不能用它。
我尝试过的
假设我在变量中有完整的HTML文档字符串(包括DOCTYPE声明)html,这是到目前为止我已经尝试过的操作:
var frag = document.createDocumentFragment(),
div = frag.appendChild(document.createElement("div"));
div.outerHTML = html;
//-> results in an empty fragment
div.insertAdjacentHTML("afterEnd", html);
//-> HTML is not added to the fragment
div.innerHTML = html;
//-> Error (expected, but I tried it anyway)
var doc = new ActiveXObject("htmlfile");
doc.write(html);
doc.close();
//-> JavaScript executes
我也尝试过从HTML 提取<head>and <body>节点,并将它们添加到<HTML>片段中的元素中,仍然没有运气。
有人有什么想法吗?
紫衣仙女
长风秋雁