كيفية إجبار تطبيق Java على التحميل من ذاكرة التخزين المؤقت
-
27-09-2019 - |
سؤال
أنا وصديقي نطور لعبة صغيرة ونريد مشاركة مراحل التطوير مع أصدقائنا. لذلك صنعت هذه الصفحة الصغيرة http://people.scs.carleton.ca/~manders8/game.html
إنه الآن ملف. class الذي نقوم بتحديثه. ولكن لسبب ما ، يقوم دائمًا بتحميل الإصدار القديم. أعلم أن هناك طريقة لإيقاف التخزين المؤقت لـ Java لكن أصدقائي ليسوا مؤهلين. بالإضافة إلى أن تجعل الناس يلعبون لعبتك ، يجب أن يكون الأمر سهلاً للغاية ولا يتطلب 5 خطوات مع لقطات شاشات لمجرد تجربتها.
لدي هذا هو العلامة:
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="no-cache">
<meta http-equiv="Expires" content="-1">
<meta http-equiv="Cache-Control" content="no-cache">
لأنني اعتقدت أنه قد يكون متصفحًا ولكن هذا لا يساعد.
هذا هو الكود الخاص بي
<applet code="com.murderbody.prototype.TitleScreen.class" codebase="http://people.scs.carleton.ca/~manders8/content/" width=640 height=380></applet>
تغيرت من التطبيق إلى:
<object type="application/x-java-applet;version=1.5" width="640" height="380">
<param name="codebase" value="http://people.scs.carleton.ca/~manders8/content/">
<param name="code" value="com.murderbody.prototype.TitleScreen.class">
<param name="cache_option" value="no">
</object>
المحلول
أضف هذا داخل علامة التطبيق الخاصة بك: <param name="cache_option" value="no">
الحديث عن علامات التطبيق ، لقد كانت عفا عليها الزمن لسنوات ؛ النظر في استخدام object
بطاقة شعار في حين أن.
نصائح أخرى
قد يحدث التخزين المؤقت لتطبيقات Java على مستويين: المستعرض و Plugin Java. يبدو أن مشكلتك مع البرنامج المساعد. لقد وجدت هذا للتو:
http://java.sun.com/products/plugin/1.3/docs/appletcaching.html
أحد الأساليب التي يستخدمها بعض الأشخاص هي إصدار الموارد ، أي إنشاء اسم ملف Applet جديد لكل إصدار (أفضل إذا قمت بتعبئة Applet في ملف JAR وإعادة تسمية الجرة لكل إصدار جديد ، مثل TitleCreen-1.2.23.jar). إذا كان لديك أداة بناء لائقة (ANT ، Maven) يمكنها أتمتة هذه إعادة تسمية لك ، سواء على جرة ومستوى العلامة ، كان ذلك أفضل.
هذه العلامات سوف تفعل العجائب لمنع صفحة من التخزين المؤقت. ومع ذلك ، فإن Applet منفصل. قون
تحتاج إلى تكوين الخادم لإرسال تلك الرؤوس باستخدام ملف الفصل نفسه (إن أمكن ، التحقيق .htaccess
الدعم).
إذا لم يكن ذلك ممكنًا ، ولكن يمكنك الوصول إلى PHP أو لغة نصية من جانب الخادم ، فيمكنك استخدام شيء مثل هذا:
<applet code="com.murderbody.prototype.TitleScreen.class?<?php echo rand(1, 10000);?>" codebase="http://people.scs.carleton.ca/~manders8/content/" width=640 height=380></applet>
تحرير: أيضا ، R. Bemrose لديه فكرة جيدة. حاول إضافة هذا إلى علامة التطبيق:
<param name="cache_option" value="no">
إذا انتهى الأمر أن يكون الحل ، فتأكد من قبول إجابته :)