سؤال

وأنا أكتب تطبيق ويب الذي سيتم تشغيله في وضع كشك على شاشة تعمل باللمس. أنا حاليا فقط استهداف لأنها تعمل على فايرفوكس 3. وهناك عدد قليل من حالات الاستخدام لدي حاجة لزيارة المواقع الخارجية. وأود أن تفعل ذلك مع متصفح جزءا لا يتجزأ، والتي أنا مواجهة مع مساعدة من <iframe>. عدت / تحتاج أزرار إلى الأمام للصفحة الرئيسية المضمنة.

ولقد تمكنت من الوصول إلى الكائن تاريخ IFRAME مع

var w = document.getElementById('embeddedBrowser').contentWindow;
w.history.back();

ووhistory من النافذة جزءا لا يتجزأ هو نفسه كما ان من الإطار الأصل. لذلك ل<iframe> تحميل حديثا، وهذه دعوة العودة إلى الصفحة السابقة من النظام.

هل هناك أي طريقة لتجنب هذا أو وسيلة أكثر الصحيحة من حل هذا؟

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

المحلول

ولأن هناك واحد فقط وجوه التاريخ المشترك في كل علامة تبويب هذا يبدو مستحيلا. ان الطريقة الصحيحة حول أن يكون لاختبار window.history.current أو window.history.previous قبل استدعاء الظهر. للأسف، window.history.current هو حظا وذلك غير متوفرة على صفحات غير موقعة.

وفيما يلي رسم تقريبي لحلا الفوضى:

<iframe src="somepage.html" name="myframe"></iframe>
<p><a href="#" id="backBtn">Back</a></p>

<script type="text/javascript">

  document.getElementById('backBtn').onclick = function () {
    if (window.frames['myframe'].location.hash !== '#stopper') {
      window.history.back();
    }
    // ... else hide the button?
    return false; // pop event bubble
  };
  window.frames['myframe'].onload = function () {
    this.location.hash = 'stopper';
  };

</script>

وبطبيعة الحال، هذا على افتراض أن أي (#hash) تصفح يذهب من أي وقت مضى على في الإطار الأصل، وهلم جرا، ولكن يبدو أن العمل من أجل الحد من مشكلة الظهر الحركة.

نصائح أخرى

وقد ترغب في إلقاء نظرة على أدوبي AIR . فإنه يتيح لك كتابة التطبيق الخاص بك باستخدام كل الأدوات نفسها / لغات (اياكس، أتش تي أم أل، الخ الخ)، ولكن نظرا لأنه يعمل على التطبيق سطح المكتب وليس في متصفح الويب، لديك المزيد من السيطرة على الأمور، مثل تضمين إطارات المتصفح و يعرف بالضبط ماذا يفعلون، ما URL انه سيكون ل، والسيطرة على انها التاريخ، الخ. <وأ href = "https://stackoverflow.com/questions/149338/adobe-air-book-from-htmljavascript-perspective#149432" > ابحث هنا لبعض المؤشرات على بدء العمل.

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