Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 创建一个Blob并在浏览器中用所需的URL打开它_Javascript_Html_Blobs - Fatal编程技术网

Javascript 创建一个Blob并在浏览器中用所需的URL打开它

Javascript 创建一个Blob并在浏览器中用所需的URL打开它,javascript,html,blobs,Javascript,Html,Blobs,我编写了以下代码,使用blob创建一个文件,并在浏览器(Chrome)中自动打开(而不是下载) JSfiddle: 文件在新浏览器窗口中成功打开,如下所示: blob:http%3A//fiddle.jshell.net/83999d68-4d79-4a06-a83d-e40a8b1f9681 但我想在我指定的url中打开它。比如说 blob:http%3A//fiddle.jshell.net/exapmle.txt 您不能自定义blob URLsOk,谢谢。有没有什么办法可以摆脱像…/839

我编写了以下代码,使用blob创建一个文件,并在浏览器(Chrome)中自动打开(而不是下载)

JSfiddle:

文件在新浏览器窗口中成功打开,如下所示:

blob:http%3A//fiddle.jshell.net/83999d68-4d79-4a06-a83d-e40a8b1f9681

但我想在我指定的url中打开它。比如说

blob:http%3A//fiddle.jshell.net/exapmle.txt


您不能自定义blob URLsOk,谢谢。有没有什么办法可以摆脱像…/83999d68-4d79-4a06-a83d-E40A8B1F9681这样丑陋的url结尾?当然,你可以在将窗口的url设置为对你或你的用户有意义的内容后立即调用例如
history.replaceState(0,0,“/myFancyPath/FacyFile.ext”)
。你能用JSFIDLE显示这个解决方案吗?谢谢
 var saveData = (function () {
    var a = document.createElement("a");
    document.body.appendChild(a);
    a.style = "display: none";
    return function (data, fileName) {
        var json = JSON.stringify(data),
            blob = new Blob([json], {type: "text/html"}),
            url = window.URL.createObjectURL(blob);
        window.open(url);
       window.URL.revokeObjectURL(url);
    };
}());

var data = { x: 42, s: "hello, world", d: new Date() },
    fileName = "my-download.json";

saveData(data, fileName);