1

アプリケーションキャッシュを使用していますが、以下の問題に直面しています:

Tomcat サーバーの場合:

サーバーがオンラインのときにページに初めてアクセスすると、マニフェスト ファイルで指定されたファイルがアプリケーション キャッシュに正常に取り込まれます。

サーバーがオフラインの場合、キャッシュされたページにアクセスしようとすると、ブラウザー コンソールにエラーが表示されます (Application Cache Error event: Manifest fetch failed (-1)インターネットでの調査によると、これはごく普通のことです) が、アプリケーション キャッシュは正常に機能します。

Weblogic サーバーの場合:

オンライン モードで Weblogic サーバーで同じコードを実行しようとしましたが、ファイルは期待どおりにキャッシュされます。しかし、オフライン モードでは、初めてページが読み込まれると正常に動作しますが、コンソールを見ると、アプリケーション キャッシュのステータスが OBSOLETE モードになるため、ページを再度更新するとスローされます404 エラー。また、"Application Cache Error event: Manifest fetch failed (-1)"Tomcat サーバーでコードを実行しようとすると、取得できません。私が間違っていることを教えてください。以下にファイルを示します。

index.html

<html manifest="demo.appcache"> 
<head> 

<link rel="stylesheet" href="style.css" type="text/css" /> 

<script type="text/javascript" src="script.js" ></script>


</head> 
<body> 
<h1>Basic example of page using Application Cache</h1> 
<p>Disconnect from the internet and try to reload this page. It should load without requiring you to connect to the internet.</p> 
</body> 
</html>

マニフェスト ファイル (demo.appcache)

CACHE MANIFEST

CACHE:
style.css
script.js
index.html
demo.appcache

NETWORK:
*

スタイル.css

body{
    background-color: #333;
}
h1{
    color: #c94054;
}
p{
    color: #fff;
}

script.js

if (!window.applicationCache){
    alert('It seems that Application Cache is not supported in this browser. Please use a browser which supports it.');
}

web.xml

<mime-mapping>
     <extension>appcache</extension>
     <mime-type>text/cache-manifest</mime-type>
     </mime-mapping>
4

1 に答える 1

1

この問題は、ブラウザーが html タグ内のマニフェスト行に遭遇したときに発生し、サーバーから appcache ファイルをダウンロードしようとします。ただし、サーバーにこのファイルがない場合、404 エラーが返されるため、アプリケーション キャッシュは OBSOLETE イベントになります。

したがって、この場合、考えられる理由は次のとおりです。 1- サーバーにこのファイルが含まれていない 2 - サーバーにこのファイルがあり、ブラウザーに返されない場合、これはサーバーが実行されているときに発生しますが、アプリケーションは実際には展開されていません。

そのため、サーバー インスタンスからアプリケーションをアンデプロイするだけでなく、サーバーを停止してみてください。それがうまくいくことを願っています。

于 2012-11-10T13:10:50.013 に答える