簡體   English   中英

無法使javascript加載.txt文件,無法加載鏈接

[英]Can't make javascript load .txt file, to load links

我做了一個功能,可以帶您到隨機鏈接,但此刻我有很多鏈接,並且想知道如何使javascript讀取包含所有鏈接的文本文件。

我現在擁有的代碼不起作用,我嘗試了其他類似方法,但是沒有任何效果。

<script>
        var sites = [
            function readTextFile("file:///Nicklas Behrend/Desktop/links.txt");
            {
                var rawFile = new XMLHttpRequest();
                rawFile.open("GET", file, false);
                rawFile.onreadystatechange = function ()
                {
                    if(rawFile.readyState === 4)
                    {
                        if(rawFile.status === 200 || rawFile.status == 0)
                        {
                            var allText = rawFile.responseText;
                            alert(allText);
                        }
                    }
                }
                rawFile.send(null);
            }
        ];

        function randomSite() {
            var i = parseInt(Math.random() * sites.length);
            location.href = sites[i];
        }
    </script>

看起來您有語法錯誤。 可能應該是這樣的:

var sites = [];
function readTextFile(file, callback) {
  var rawFile = new XMLHttpRequest();
  rawFile.open("GET", file, false);
  rawFile.onreadystatechange = function () {
    if(rawFile.readyState === 4) {
      if(rawFile.status === 200 || rawFile.status == 0) {
        var allText = rawFile.responseText;
        alert(allText);
        callback(allText);
      }
    }
  }
  rawFile.send(null);
}

readTextFile("file:///Nicklas Behrend/Desktop/links.txt", filesText =>{
    sites = filesText.split('\n');
});

function randomSite() {
    var i = parseInt(Math.random() * sites.length);
    location.href = sites[i];
 }

您試圖同時聲明和運行該函數,這都是錯誤的。 另外, XMLHttpRequest()是異步的,因此您必須具有一個將返回文本的回調。

一旦有了它,就可以將文本拆分為多個站點(在這種情況下,我假設它們是用換行符分隔的)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM