JCROP التخزين المؤقت صورة
سؤال
أحاول تنفيذ JCROP مع قائمة بالصور. في الوقت الحالي ، عند النقر فوق الرابط إلى Crop ، يقوم صندوق Lightbox بتحميل مكالمة Ajax مع الصورة وجميع أدوات زراعة المحاصيل وكل شيء يعمل بشكل رائع. لقد اختبرت عبر عدة صور في DB وجميعها تبدو جيدة.
ومع ذلك ، بمجرد أن أقرع الصورة ويغلق Lightbox ، إذا حاولت بعد ذلك قصف الصورة مرة ثانية ، فإنها لا تزال تظهر لي الصورة الأصلية ، بدلاً من الصورة التي تم اقتصاصها حديثًا. هل هناك شيء في JCROP يخبّر الصورة وإذا كان الأمر كذلك ، فهل يمكنني إيقاف تشغيله بحيث يسحب الصورة الجديدة في كل مرة يتم استدعاؤها من خلال AJAX؟ (تحديث الصفحة تقوم بتحديث الصورة إلى واحدة صحيحة ، لكن هذا يهزم بعض الميزات الأخرى التي أمارسها في هذه الصفحة.)
شكرا مقدما!
المحلول
أقترح تغيير عنوان URL عندما تتغير بيانات الصورة من الخادم - وإلا فسوف تتعامل مع مشكلات التخزين المؤقت عدة مرات. السيطرة على ذاكرة التخزين المؤقت ليست كافية - بعض المتصفحات تتجاهل التوجيه.
لست متأكدًا من النظام الأساسي من جانب الخادم الذي تقوم بتشغيله ، ولكن إليك حلًا سهلًا إذا كان Windows/IIs.
نصائح أخرى
ربما يتم الاحتفاظ بالصورة في ذاكرة التخزين المؤقت للمتصفح. يمكن تجنب ذلك برؤوس التحكم في ذاكرة التخزين المؤقت على جانب الخادم:
Cache-Control: no-cache
Cache-Control: no-store
Cache-Control: max-age=0
هذا سيمنع التخزين المؤقت في أي حال.
كنت أيضًا أواجه نفس مشكلة ذاكرة التخزين المؤقت. كنت أستخدم نافذة Colorbox/Fancybox بعد تحميل AJAX. ولكن كان هناك نفس الصورة إما إذا قمت بتحديد الصورة الأخرى. ولكن عندما أقصّل الصورة ، تحرق الصورة الصحيحة ولكن الصورة التي تظهر في نافذة المحاصيل التي كانت قديمة.
قضيت الكثير من الوقت في هذا والحصول على الحل. تحتاج فقط إلى تغيير اسم الصورة بشكل عشوائي ، وسيؤدي ذلك إلى حل مشكلة ذاكرة التخزين المؤقت EI وستحصل دائمًا على الصورة التي تم تحميلها الجديدة.
التحيات ، جيتو