严格使用 Javascript,是否可以调用远程 URL 并将其存储在变量中?要指定,这不会在同一个域中。基本上,我正在尝试找出在 chrome 扩展程序中抓取/解析数据的最佳解决方案。
最佳答案
如果您尝试从外部域加载页面,您将遇到 same-origin policy .您可以通过在您自己的站点上设置一个简单的代理来绕过此限制。这将是一些服务器端代码,其功能是代表您向外部页面发出 http 请求,检索响应,然后将该内容返回给发出原始请求的页面异步 JavaScript 代码。
因此,如果您在 /your_internal_proxy.foo
中设置代理,并且您使用的是 jQuery,则可以构建如下所示的 JS 函数:
var foreignContent = {};
var loadPage = function(pageURL,varName) {
$.ajax({
type: 'get',
url: '/your_internal_proxy.foo',
data: {
url_to_get: pageURL
},
success: function(result) {
foreignContent[varName] = do_something_to( result );
}
});
};
然后,将内容加载到 JS 变量中:
loadPage('http://www.google.com/','goog');
loadPage('http://stackoverflow.com','stack');
关于javascript - 将外部页面源存储在 Javascript 变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9811445/