如何将.json文件设置为在window.open(javascript)中使用的变量?

时间:2019-07-12 19:01:53

标签: javascript json window.open

我已经使用 html javascript 建立了一个网站。我在这两种方法上都有经验,但是在使按钮打开 json 文件中的网址方面存在困难。所以我想使一个json文件成为变量,然后将其与window.open(JSON-url,“ _ blank”)一起使用。然后,我想创建一个名为JSON-url的变量,它必须与.json文件链接。


我已经搜索了许多示例,但似乎无法获得正确的措辞。我尝试过w3schools,Stack Overflow,Quora等。我主要尝试了其他搜索,例如“如何使JSON成为在window.open javascript中使用的变量”,但是那也不起作用。

{
  "JSON-url": "https://www.google.com"
}

我敢打赌,有很多人知道这个答案,所以请提高您的想法!

1 个答案:

答案 0 :(得分:0)

window.open()中为URL使用变量时,关于JSON文件没有什么特别的。您与其他任何URL都一样。

使用FileReader API读取文件,然后使用内容作为URL打开。

function openFile(files) {
  if (files.length == 0) {
    return;
  }
  const reader = new FileReader();
  reader.onload = function() {
    var url = reader.result.trim(); // Contents of the file
    console.log("Opening " + url);
    window.open(url, "_blank");
  }
  reader.readAsText(files[0]);
}
Select file:
<input type="file" id="txt" accept="text/plain" onchange="openFile(this.files)">

这在上面的代码段中无效,因为堆栈代码段已被沙盒化,并且不允许window.open()