Javascript 给定html文件的url地址,如何读取内容?
我需要做一些简单的事情 我有Javascript 给定html文件的url地址,如何读取内容?,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我需要做一些简单的事情 我有canvas.html <div id="dialog" title="Basic dialog"> <p>Something.</p> </div> function LoadPage(href) { var xmlhttp = new XMLHttpRequest(); xmlhttp.open("GET", href, false); xmlhttp.send(); retur
canvas.html
<div id="dialog" title="Basic dialog">
<p>Something.</p>
</div>
function LoadPage(href)
{
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", href, false);
xmlhttp.send();
return xmlhttp.responseText;
}
...
var canvasPanelURL = "myfolder/canvas.html";
var content = LoadPage(canvasPanelURL);
..
上面的代码是正确的
遗憾的是,XMLHttpRequest
已被弃用,我想使用FileReader
,但输入是blob,有没有其他方法来代替使用XMLHttpRequest
编辑
感谢您的评论,SynchronousXMLHttpRequest
已被弃用,
我只是想知道是否还有其他方法可以读取给定url的html文件(我应该说,这个问题与
XMLHttpRequest
有着松散的联系)不幸的是,主线程上的同步请求(即运行javascript的请求)已被弃用
注意:从Gecko 30.0(Firefox 30.0/Thunderbird 30.0/SeaMonkey 2.27)开始,由于对用户体验的负面影响,主线程上的同步请求已被弃用
但是,您仍然可以通过使用
使用web worker的替代方法是在异步请求的回调中进行处理
function LoadPage(href, cb)
{
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", href, true);
request.onload = function() {
if (request.status >= 200 && request.status < 400) {
cb(request.responseText);
}
};
xmlhttp.send();
}
var canvasPanelURL = "myfolder/canvas.html";
LoadPage(canvasPanelURL, function(content) {
// do stuff with content
});
XMLHttpRequest未被弃用。同步请求是无效的。将
false
更改为true
(或完全删除参数),并使用回调而不是返回值。XMLHttpRequest
+synchronous
=您在这里做了一些非常错误的事情。要点是读取给定url的文件,而不是XMLHttpRequest,我知道这是错误的,但这就是为什么我讨厌stackoverflow,如果我有一个非常糟糕的代码,我会被否决…@azer89你的说法不正确,我想这就是你被否决的原因。你明白这些评论的意思吗?您需要异步XHR方面的帮助吗?@Xan,我知道,我尝试了异步XMLHttpRequest,但有一点成功,我还明确表示,如果使用FileReader,我想知道解决方案,但没有人关心。。。
var blob = new Blob([content]);
var reader = new FileReader();
reader.onloadend = function() {
console.log(reader.result);
};
reader.readAsBinaryString(blob);