Javascript 是否可以读取其他url的dom结构?

Javascript 是否可以读取其他url的dom结构?,javascript,Javascript,显然,修改它是不可能的 但是你会认为仅仅阅读它不应该是一个问题吗 如果我在某人的系统上运行了我的.js,并且我想分析另一个URL(客户端)的DOM,有没有办法做到这一点 一些简单的操作,比如拉标题标签或拉url…可能会将站点加载到iframe中以完成此操作?如果域不匹配,则由于安全异常,您将无法执行此操作。但是,如果您控制另一个域,您应该研究添加跨域文件以允许通过javascript进行访问。您可以通过AJAX get请求获得html源代码。如果我没有弄错你的问题,你可以在html代码中搜索或将

显然,修改它是不可能的

但是你会认为仅仅阅读它不应该是一个问题吗

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


一些简单的操作,比如拉标题标签或拉url…可能会将站点加载到iframe中以完成此操作?

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

您可以通过AJAX get请求获得html源代码。如果我没有弄错你的问题,你可以在html代码中搜索或将其分配给iframe/…

使用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)
    }
});
参考:

您可以使用xmlhttp实现这一点


如果您询问是否可以在另一个来源中检查文档的DOM,那么答案是否定的。这将允许以表单或文本形式窃取用户数据。同一来源策略禁止您这样做。您可以看看为什么要从web客户端而不是像爬虫/机器人这样的服务器端程序执行此操作?您要用javascript解析页面,我的意思是查看页面的html?document.getElmentbyId.contentWindow.document用于所述iframe…我稍后会找出语法。@SteveBinder:它已被删除。如果URL来自其他URL,则不会domain.yahoo查询语言…我被谷歌搜索出来了..你能给我一个简单的概要吗?某种yahoo api为你做解析吗?它做了很多事情。你会得到一切。它做什么,如何做,如何做等等?它充当代理。因为服务器可以解析任何页面,所以它可以。。。然后它将结果作为jsonp发送给您。因为jsonp是跨域的,所以您可以从任何域使用它:我不想攻击另一台服务器,尽管这看起来很酷。Mic的评论中提到了大约3种不同的方法。
function getSourceAsDOM(url)
{
    xmlhttp=new XMLHttpRequest();
    xmlhttp.open("GET",url,false);
    xmlhttp.send();
    parser=new DOMParser();
    return parser.parseFromString(xmlhttp.responseText,"text/html");      
}