6

显然修改它是不可能的。

但是你会认为只是阅读它应该没有问题吗?

如果我的 .js 在某人的系统上运行,并且我想分析另一个 URL 的 DOM,客户端,有没有办法做到这一点?

一些简单的事情,比如拉标题标签或拉网址……也许将网站加载到 iframe 中来完成这个?

4

4 回答 4

10

您可以使用xmlhttp

function getSourceAsDOM(url)
{
    xmlhttp=new XMLHttpRequest();
    xmlhttp.open("GET",url,false);
    xmlhttp.send();
    parser=new DOMParser();
    return parser.parseFromString(xmlhttp.responseText,"text/html");      
}
于 2016-05-31T19:37:04.817 回答
4

如果我的问题是正确的,

一个使用yql的跨域例子,

var url = 'xyz.com'; // website you want to scrape
var yql = 'http://query.yahooapis.com/v1/public/yql?q=' + encodeURIComponent('select * from html where url="' + url + '"') + '&format=json&callback=?';  
$.getJSON(yql,function(data){
    if (data.results[0]){  
        console.log(data = data.results[0].replace(/<script[^>]*>[\s\S]*?<\/script>/gi, ''));  // The scraped data (the whole webpage)
    }
});

参考: 如何在 javascript 中获取 HttpwebRequest 的等效方法

于 2012-05-21T19:45:47.510 回答
1

如果域不匹配,由于安全异常,您将无法执行此操作。但是,如果您控制其他域,则应研究添加跨域文件以允许通过 javascript 访问。

于 2012-05-21T19:38:48.103 回答
1

您可以通过 AJAX GET 请求获取 html 源代码。然后您可以在 html 代码中搜索或将其分配给 iframe/...

于 2012-05-21T19:40:21.847 回答