如何使用javascript下载网页的整个HTML?
在给定URL的情况下,是否可以使用如何使用javascript下载网页的整个HTML?,javascript,html,url,download,firefox-addon,Javascript,Html,Url,Download,Firefox Addon,在给定URL的情况下,是否可以使用JavaScript下载网页的整个HTML?我想做的是开发一个Firefox插件,下载在浏览器当前页面源代码中找到的所有链接的内容 更新:URL驻留在同一个域中对于JavaScript一般来说,简短的回答是否,除非所有页面都在同一个域中。JavaScript受限制,因此出于安全原因,您不能执行这样的跨域请求 然而,正如Max和erturne在评论中指出的,当JavaScript作为浏览器扩展/附加组件的一部分编写时,关于同源策略和跨域请求的常规规则似乎并不适用—
JavaScript
下载网页的整个HTML
?我想做的是开发一个Firefox插件,下载在浏览器当前页面源代码中找到的所有链接的内容
更新:URL驻留在同一个域中对于JavaScript一般来说,简短的回答是否,除非所有页面都在同一个域中。JavaScript受限制,因此出于安全原因,您不能执行这样的跨域请求 然而,正如Max和erturne在评论中指出的,当JavaScript作为浏览器扩展/附加组件的一部分编写时,关于同源策略和跨域请求的常规规则似乎并不适用——至少对Firefox和Chrome不适用。因此,使用JavaScript下载页面应该可以使用XMLHttpRequest,或者使用您最喜欢的JS库中包含的一些包装器方法 如果您和我一样喜欢jQuery,那么可以看看jQuery的方法,该方法从给定资源加载HTML,并将其注入到指定的元素中 编辑:
根据外接程序对跨域请求的评论,对我的回答进行了一些更新 对于JavaScript,一般来说,简短的答案是否定的,除非所有页面都在同一个域中。JavaScript受限制,因此出于安全原因,您不能执行这样的跨域请求 然而,正如Max和erturne在评论中指出的,当JavaScript作为浏览器扩展/附加组件的一部分编写时,关于同源策略和跨域请求的常规规则似乎并不适用——至少对Firefox和Chrome不适用。因此,使用JavaScript下载页面应该可以使用XMLHttpRequest,或者使用您最喜欢的JS库中包含的一些包装器方法 如果您和我一样喜欢jQuery,那么可以看看jQuery的方法,该方法从给定资源加载HTML,并将其注入到指定的元素中 编辑:
根据外接程序对跨域请求的评论,对我的回答进行了一些更新 如果组合scheme://domain:port 对于承载应获取HTML的JavaScript的页面也是如此 许多JS框架为您提供了简单的XHR支持、Jquery、Dojo等。使用Dojo的示例:
function getText() {
dojo.xhrGet({
url: "test/someHtml.html",
load: function(response, ioArgs){
//The repsone is the HTML
return response;
},
error: function(response, ioArgs){
return response;
},
handleAs: "text"
});
}
如果您喜欢编写自己的XMLHttpRequest处理程序,请看这里:如果组合scheme://domain:port 对于承载应获取HTML的JavaScript的页面也是如此 许多JS框架为您提供了简单的XHR支持、Jquery、Dojo等。使用Dojo的示例:
function getText() {
dojo.xhrGet({
url: "test/someHtml.html",
load: function(response, ioArgs){
//The repsone is the HTML
return response;
},
error: function(response, ioArgs){
return response;
},
handleAs: "text"
});
}
如果您更喜欢编写自己的XMLHttpRequest处理程序,请看这里:如果您只是用心编写一个文本网页下载程序,并且您只知道
html
和javascript
,那么您可以编写一个下载程序名称“download.hta”使用html
和javascript
来控制Msxml2.ServerXMLHTTP.6.0
和FSO
如果你只是用心编写一个文本网页下载程序,并且你只知道html
和javascript
,你可以编写一个下载程序名称“download.hta”使用html
和javascript
来控制Msxml2.ServerXMLHTTP.6.0
和FSO
应该可以使用jQuery ajax。Firefox扩展中的Javascript不受跨源限制。以下是在Firefox扩展中使用jQuery的一些技巧:
我编写了一个Firefox扩展,用于从我朋友的书签站点获取书签。它使用jQuery从他的服务获取JSON响应中的书签,然后创建这些书签的菜单,以便我可以轻松访问它们。您可以在浏览源代码,使用jQuery ajax应该可以做到这一点。Firefox扩展中的Javascript不受跨源限制。以下是在Firefox扩展中使用jQuery的一些技巧:
我编写了一个Firefox扩展,用于从我朋友的书签站点获取书签。它使用jQuery从他的服务获取JSON响应中的书签,然后创建这些书签的菜单,以便我可以轻松访问它们。您可以在上浏览源代码,它类似于吗?它类似于吗?您不能使用XMLHttpRequest获取这些页面吗?@Nobita只要资源位于不同的域上就可以了。XMLHttpRequest受同源策略的限制。但是,只要请求在t内发布,就可以使用它