2017-11-01 5 views
1

JavaScriptを使用して更新したい単純なWebアプリケーションがあります。実際にはウェブサイトからデータを読み込みますが、このデモでは「Hello World」の作成に失敗します。それは "ベストプラクティス"コードではないかもしれませんが、私はより複雑なコードで私の問題を再現します。私のWebアプリケーションが公開時に再読み込みに失敗するのはなぜですか?

iOS 11のSafariでこれを開くと、ページに「Hello World」と表示されます。私はリフレッシュして、私が欲しいものを何でもします。しかし、ホーム画面(アプリアイコン)にページを追加してSafariのキャッシュをきれいにすると、次のようになります:

私はWebアプリケーションを開いてすべてが機能します。 Safariからキャッシュをクリアするまで、メールを閉じてWebアプリケーションに戻ってきます。

さらに、Webアプリケーションを閉じて開いてしまうと、最終的にクラッシュします。

何が問題なのですか?

test.htmlという

<!DOCTYPE html> 
<html> 
    <head></head> 
    <body> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
    <script> 
     $.getScript("test.js", function(){update();});</script> 
    </body> 
    </head> 
</html> 

test.js

function update() { 
    document.write("<html>"); 
    document.write("<head>"); 
    document.write('<title>test</title><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, viewport-fit=cover"><meta name="apple-mobile-web-app-capable" content="yes">'); 
    document.write("</head>"); 
    document.write("<body>"); 
    document.write("Hello World"); 
    document.write("</body>"); 
    document.write("</html>"); 
} 
+0

は、コンソールをdevのためにいくつかのエラーを記述していますか? –

+0

システムログには「アサーションに失敗しました:... libxpc.dylib」というメッセージが表示されます。しかし、私がコードに追いつくことのできるものはほかにありません。 しかし、少なくとも私はiPhone Simulatorで同じ動作をしています。 – davinci

+0

なぜjQueryが必要ですか?あなたが実際にやっていることは、普通の古いバニラJSを使って書類に書いていることです。 –

答えて

0

これを試してみてください:

test.htmlという

test.js

function update() { 
    $(document).prop('title', 'test'); // or document.title = 'test'; 
    $('head')append('<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, viewport-fit=cover">'); 
    $('head')append('<meta name="apple-mobile-web-app-capable" content="yes">'); 
    $('body').html('Hello World'); 
} 
+0

私のウェブアプリケーションが失敗する理由を知りたいのです。だから私のコードが最高でない場合でも、それはまだ動作するはずです。 Btw。 .append()も同様に機能しますが、アプリも失敗します。 – davinci

+0

アプリがうまくいくようです。しかし、他のコードでもこの問題が発生しているので、なぜこれが起こるのかを知る必要があります。例えば、bodyにたくさんのappend()を追加すると、それも失敗します。 – davinci

+0

あなたのページには、既にとがあります。あなたのスクリプトはそれらを再度追加しようとしています。私はそのエラーがそれに関連していると思います。 – mscdeveloper

関連する問題