最初の部分はうまくいきます。つまり、WKWebviewオブジェクトはJavaスクリプト関数を呼び出すことができます。問題はjavascriptコードにあると思います。evaluateJavaScript(..)で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に達しています。だから私はファイルが見つかったのかどうかも分かりません。
- ファイルが見つかったかどうかを判断する方法はありますか?
- もし私がそれをどのように読むことができますか?
私は経験豊富なJavaスクリプト開発者ではありません。だから明らかな問題かもしれません。私がw3schools.comの助けを借りて書いたjavascript関数。
ありがとうございました。
でより良いドキュメンテーションもあり、おかげで私はこれを実装する方法を知りませんでした。関数readTextfile()が呼び出されていないため、まだまだ機能していません。行方不明のものがあるかもしれません... – BCI
テキストファイルがアプリケーションバンドルに置かれている場合、readTextFile関数は呼び出されません。テキストファイルがリモートWebサーバー上にある場合は、それが呼び出されます。私は最終的に、クロスオリジン要求がHTTPに対してのみサポートされているという問題があることを知りました。これはapperentlyセキュリティ上の制限のためです...私は回避策を探すしようとします... – BCI