显然修改它是不可能的。
但是你会认为只是阅读它应该没有问题吗?
如果我的 .js 在某人的系统上运行,并且我想分析另一个 URL 的 DOM,客户端,有没有办法做到这一点?
一些简单的事情,比如拉标题标签或拉网址……也许将网站加载到 iframe 中来完成这个?
显然修改它是不可能的。
但是你会认为只是阅读它应该没有问题吗?
如果我的 .js 在某人的系统上运行,并且我想分析另一个 URL 的 DOM,客户端,有没有办法做到这一点?
一些简单的事情,比如拉标题标签或拉网址……也许将网站加载到 iframe 中来完成这个?
您可以使用xmlhttp
function getSourceAsDOM(url)
{
xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET",url,false);
xmlhttp.send();
parser=new DOMParser();
return parser.parseFromString(xmlhttp.responseText,"text/html");
}
如果我的问题是正确的,
一个使用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 访问。
您可以通过 AJAX GET 请求获取 html 源代码。然后您可以在 html 代码中搜索或将其分配给 iframe/...