2012-12-26 18 views
6

हमारे पास एक मोबाइल साइट (एमवीसी शैली में एएसपी.नेट) है, जो अन्य चीजों के साथ एक पूर्णस्क्रीन एचटीएमएल स्लाइड शो प्रदर्शित करती है।मोबाइल 'बैक' प्रेस के बाद जावास्क्रिप्ट चलाएं

इस प्रदर्शित करने के लिए, हम कोड mobileHTMLMovie दृश्य पर तो जैसे चलाएँ:

$(function() { 
    $(document).bind('pageinit', function() { 
    $("header").hide(); 
    $(".subHeader").hide(); 
    $(".subHeaderAccent").hide(); 
    $("footer").hide(); 
    $(".ui-content").css("width", "100%").css("height", "100%").css("margin","0").css("background-color", "#000"); 
    }); 
}); 

समस्या हम देख रहे हैं कि जब उपयोगकर्ता 'वापस' बटन (धक्का s/वह हार्डवेयर तक ही सीमित है नियंत्रण, क्योंकि यह कोड हमारे एचटीएमएल आंदोलन बटन सहित सभी रैपर तत्वों को अक्षम करता है) तत्व छिपे रहते हैं।

मैं उस पृष्ठ पर 'रिवर्सल' कोड चलाने के लिए एक रास्ता खोजने में असमर्थ रहा हूं (छिपाने के बजाय दिखाएं, ".ui-content" से शैली विशेषता को हटा रहा हूं)। जिस पृष्ठ पर वे उतरते हैं वह दस्तावेज नहीं चलाता है। जब भी वे पहुंचते हैं, तो मूवी पेज 'ऑनलोड' या 'ऑनबेरनलोड' नहीं चलाता है, और दूसरा सुझाव जो मैंने ऑनलाइन पाया है (.live ('click') '[डेटा-रिलेशन = बैक]' तत्व) या तो काम नहीं किया है।

क्या किसी के पास कोई सुझाव है?

+0

नहीं, आप कर रहे हैं एसओएल – mplungjan

+0

@mplungjan: शायद ही - मैं हमेशा एक समय घटना की स्थापना की है, तो उन दिखाई दे रहे हैं लगातार की जाँच करें और उन पर वापस स्विच अगर वे नहीं कर रहे हैं करने के लिए हो सकता है। यह सिर्फ हैकिश और बदसूरत है - जब वे जमीन पर भरोसा करते हैं तो मैं इसे विश्वसनीय रूप से निकाल दूंगा। – Jeff

+0

क्या आप पृष्ठ के अंत में शो जोड़ सकते हैं? – mplungjan

उत्तर

1

क्या आप इतिहास ऑब्जेक्ट का उपयोग करने और popstate ईवेंट से जुड़ने का प्रयास कर सकते हैं? असल में, जब स्लाइड शो प्रदर्शित होता है, तो आप एक नया राज्य दबाएंगे, और फिर जब उपयोगकर्ता वापस दबाएगा, तो यह पॉप को ट्रिगर कर सकता है।

उदाहरण:

$(function() { 
    $(document).bind('pageinit', function() { 
     $("header").hide(); 
     $(".subHeader").hide(); 
     $(".subHeaderAccent").hide(); 
     $("footer").hide(); 
     $(".ui-content").css("width", "100%").css("height", "100%").css("margin","0").css("background-color", "#000"); 

     window.history.replaceState("slideshow", "Slideshow", "slideshow"); 
    }); 

    window.addEventListener('onpopstate', function(event) { 
     if (event.state === "slideshow") { 
      //Close the slideshow 
     } 
    } 
}); 

मुझे यकीन है कि क्या प्रवाह पेज के लिए है नहीं कर रहा हूँ, लेकिन आप या तो replaceState या pushState कैसे स्लाइड शो

संसाधन शुरू की है पर निर्भर करता है का उपयोग करेंगे

संबंधित मुद्दे