جافا التطبيقات مقابل الزر مرة أخرى
-
20-09-2019 - |
سؤال
لقد لاحظت أنه إذا كنت تعزف أغنية في http://listen.grooveshark.com/ وتضغط على زر الخلف هو ذكي بما يكفي لمواصلة تشغيل الموسيقى أثناء التنقل "للخلف" داخل تطبيق الفلاش.
هل من الممكن تنفيذ هذا النوع من الأشياء باستخدام تطبيقات Java ، أم القيام بالأطقم التي تغلقها عند التنقل بعيدًا عن الصفحة (على الرغم من أن الصفحة الناتجة تحتوي على نفس التطبيق)؟
المحلول
يبدو أن Grooveshark صعبة مع شظية عنوان URL. يقومون بتخزين البحث بعد محدد # جزء في عنوان URL ، على سبيل المثال ، قم بالبحث عن Ween ، وستحصل على عنوان URL هذا
http://listen.grooveshark.com/#/search/songs/?query=ween
ثم قم بالبحث عن Bungle ويتغير عنوان URL
http://listen.grooveshark.com/#/search/songs/?query=bungle
إذا قمت بالنقر فوق الزر "العودة" في متصفحك ، فإن عنوان URL يتغير إلى "Ween" السابق ، لكن المتصفح يبقى على نفس الصفحة ، لأن كل شيء قبل معرف الجزء هو نفسه. هناك بعض JavaScript التي تكتشف الجزء المتغير وتحديث واجهة المستخدم وفقًا لذلك.
من المحتمل أن تفعل شيئًا كهذا مع تطبيق Applet ، لكن يبدو أنه مناسبة بشكل أفضل لـ JavaScript. والخبر السار هو أن التطبيق الخاص بك سوف يتم تخزينه مؤقتًا بواسطة المتصفح ، لذلك إذا قمت بالتبديل إلى صفحة مختلفة ، فسيحدث تحميل التطبيقات بسرعة.
نصائح أخرى
http://java.sun.com/docs/books/tutorial/deployment/applet/lifecycle.html
عندما يترك المستخدم الصفحة ، على سبيل المثال ، للانتقال إلى صفحة أخرى ، يتوقف المتصفح ويدمر التطبيق. لا يتم الحفاظ على حالة التطبيق. عندما يعود المستخدم إلى الصفحة ، يقوم المتصفح بتربية ويبدأ مثيلًا جديدًا من التطبيق.
ومع ذلك ، فإن ما يمكنك فعله هو حفظ الحالة على الخادم عند إيقاف التطبيق ثم استعادة الحالة من الخادم عندما يبدأ مرة أخرى. إذا جعلته تطبيقًا موقّعًا ، فيجب أن يكون قادرًا على حفظ الحالة محليًا.