7

すべての html を WKWebView に埋め込みます。WKWebView がローカルに xml ファイルを読み込めないことを認識するまで、すべてが機能します。

$.ajax({
        タイプ:「GET」、
        URL: "tags.xml",
        データ型: "xml",
        キャッシュ: false,
        成功: 関数 (xml) {

        }、
        エラー: 関数() {

            alert("XML ファイルの処理中にエラーが発生しました。");
        }
    });

UIWebView の私のコード

//urlFolder はローカルの一時ファイルにあります: tmp/www/htmlFolder
//urlFile は urlFolder にあります: tmp/www/htmlFolder/index.html
//xml ファイルは urlFolder にあります: tmp/www/htmlFolder/tags.xml


WKWebViewConfiguration *theConfiguration = [[WKWebViewConfiguration alloc] init];
    _webView = [[WKWebView alloc] initWithFrame:self.view.frame 構成:theConfiguration];
    [_webView loadFileURL:urlFile allowedReadAccessToURL:urlFolder];

    [self.view addSubview:_webView];

注: XCode7.1 Beta、Objective-C、ios9.1、WKWebView を使用しています

4

2 に答える 2

3

私が見つけたものから、彼らは WKWebViews でクロスオリジン リクエストを無効にしました。

この問題の詳細については、cors または xhr + WKWebView を検索してください。これは、ローカルファイルを使用する「通常の」UIWebViews(例のように)で常に可能だったため、何らかのバグであるに違いないと思います。

ただし、アプリ内で小型/軽量の http サーバーを実行することはできます。これは私にとってはうまく機能します。App Transport Security Settingslocalhost の .plist ファイルに必ず例外を追加してください。

于 2015-11-13T12:22:06.640 に答える