使用evaluateJavaScript(..)调用javascript函数,以读取应用程序包中的文本文件

时间:2017-09-29 16:24:08

标签: javascript ios xmlhttprequest text-files wkwebview

第一部分工作正常,这意味着WKWebview对象能够调用java脚本函数。问题在于javascript代码,我假设。

调用的javascript函数应该只是从应用程序包中的文本文件中读取(fileName =" data.txt")。它看起来像这样:

function readTextFile(fileName)
{
     var rawFile = new XMLHttpRequest();
     rawFile.onreadystatechange = function()
     { 
         if(rawFile.status == 4)
         { 
             document.getElementById("demo").innerHTML = this.responseText;
         }
     }

    rawFile.open("GET",file,true)
    rawFile.send()  

 }

输出始终为空。现在我确定rawFile状态达到4,我检查了一下。我已经用一些假装不存在的文件替换了fileName,并且rawfile状态仍然达到4.所以现在我甚至不确定是否找到了该文件。

  1. 有没有办法确定是否找到了文件?
  2. 如果找到,我怎么能读出来?
  3. 我根本不是一位经验丰富的java脚本开发人员。所以这可能是一个明显的问题。我在w3schools.com的帮助下写的javascript函数。

    感谢。

1 个答案:

答案 0 :(得分:1)

我认为您的代码存在一些格式问题,并且您没有添加事件侦听器。试试下面的内容。 MDN https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest

还有更好的文档



function readTextFile() {
  document.getElementById("demo").innerHTML = this.responseText;
}
function getTextFile(file) {
  var req = new XMLHttpRequest();
  req.addEventListener("load", readTextFile)
  req.open("GET", file, true)
  req.send();
)

getTextFile('example.txt')

<div id="demo">
</div>
&#13;
&#13;
&#13;