غادر مشكلة تدفق الويب مع الزر الخلفي للمتصفح

StackOverflow https://stackoverflow.com/questions/2022022

  •  19-09-2019
  •  | 
  •  

سؤال

أواجه مشاكل في الحصول على زر ظهر المتصفح يعمل بشكل صحيح على تدفق الويب. نسخة من الشجر هو 1.1.2. تخيل رمز المثال:

def someFlow = {
   ...
   fillGroup {
      on("addMember"){
         ...
      }.to "fillMember"
   }
   fillMember {
      on("addMember") {
         ...
      }.to "fillMember"
      on("goToCart").to "showCart"
   }
   showCart {
      ...
   }
}

الآن، أضيف مجموعة، عدة أعضاء (> 1) وأذهب إلى العربة. المشكلة هي أنه أثناء ملء الأعضاء يبقى عنوان URL هو نفسه. تغيير المعلمة تنفيذ URL فقط إذا تغيرت الحالة (عرض).

So Firefox تتذكر صفحات Fillmember كصفحة واحدة لأن عنوان URL لا يتغير. لذلك الزر الخلفي لا يعمل بشكل صحيح. إذا كنت في ShowCart وادفع مرة أخرى، أحصل على صفحة Fillmember. مزيد من الضغط من الزر الخلفي إرجاع FillGroup. أحتاجها للذهاب من خلال جميع صفحات Fillmember.

هل هناك أي طريقة لإجبار تدفق الشبكة على شبكة الإنترنت لتغيير معلمة التنفيذ على الرغم من أنني أعيد توجيهها إلى نفس الحالة؟ أو هل يمكنني وضع المعلمة الخاصة بي في عنوان URL؟

لقد وجدت إحدى الطرق القبيحة الجميلة كيفية القيام بذلك: استخدم اثنين من دولدان للملء - Fillmember1 و Fillmember2، كلاهما يفعل الشيء نفسه، واحد يعيد توجيه إلى آخر. لكنني أحتاج إلى حالة عمل أخرى لتتمكن من التمييز بين الحالة الفعلية عند ضرب الأزرار الخلفية والأمام. هذا البناء يعمل ولكنني أفضل طريقة أسهل.

شكرا لأي إجابات

توم

هل كانت مفيدة؟

المحلول

حتى الآن، الحل الوحيد الذي وجدته هو الذي ذكرته. استخدم دولتين مناين، يقومان بالضبط بنفس الشيء تماما، وولاية حركة واحدة لعقد بعض معلومات الدولة (سيكون من الصعب التمييز بشكل صحيح العضو المعالج بدونها). سيكون الرمز شيء مثل هذا:

def someFlow = {
   ...
   fillGroup {
      on("addMember"){
         ...
      }.to "fillMemberLogic"
   }
   fillMemberLogic {
      action {
         ...
         flow.stateinf += 1
         if(flow.stateinf%2 == 1)
            return gotoFillMember1()
         else
            return gotoFillMember2()
      }
      on("gotoFillMember1").to "fillMember1"
      on("gotoFillMember2").to "fillMember2"
   }      
   fillMember1 {
      on("addMember") {
         ...
      }.to "fillMemberLogic"
      on("goToCart").to "showCart"
   }
   fillMember2 {
      on("addMember") {
         ...
      }.to "fillMemberLogic"
      on("goToCart").to "showCart"
   }
   showCart {
      ...
   }
}

نظرا لأنه يتم تغيير المنظر لكل عضو، فإن معلمة التنفيذ تتم أيضا تغييرها ويتميز عنوان URL بكل عضو. يميز Firefox تميز الصفحات التي تم عرضها وفقا لعنوان URL، حتى تتمكن من العودة ذهابا وإيابا من خلال جميع الأعضاء باستخدام الأزرار الخلفية والأمام.

تدفق الويب هو تعيين عنوان URL مع حالة التدفق الحالية. لذلك من الممكن بسهولة التمييز بين العضو الحالي الذي تجهيزه بعد الضغط على الزر الخلفي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top