عند العمل على مشروع ويب ، واجهنا شرطًا. عندما لا يكون للصفحة سجل سلف (أي ، فإن الصفحة حاليًا قد ظهرت حديثًا ، ولا يمكننا القيام بعملية متربعة ، أي History.GO (-1)) ، ثم تغلق الصفحة مباشرة عند النقر فوق زر الإرجاع ، وإلا فإنه سيعود إلى الصفحة السابقة.
المشكلة التي واجهتها هي كيفية الحكم على ما إذا كان التاريخ يمكن أن يعود. هذا أمر مزعج للغاية ، لأنه لا توجد وظيفة يمكن الحصول عليها مباشرة ، ولا يمكن معالجتها إلا من خلال History.Length Variable. ومع ذلك ، بالنسبة إلى IE ، فإن قيمة إرجاع الطول تختلف عن قيمة غير IE. IE: History.length = 0 ، غير IE هو 1 ، لذلك تمت كتابة وظيفة لتنفيذ الوظيفة المطلوبة من قبل. شارك مع الجميع.
/** * ارجع إلى الصفحة السابقة (أو أغلق هذه الصفحة) * <li> إذا لم يكن هناك سجل في الصفحة السابقة ، أغلق الصفحة الحالية مباشرة </li> */وظيفة goBack () {if (((navigator.useragent.indexof ('msie')> = 0) && (novigator.useragent.indexof ('opera') <0) window.history.go (-1) ؛ } آخر {window.opener = null ؛ window.close () ؛ }} else {// noni browser if (navigator.userAgent.indexof ('firefox')> = 0 || navigator.useragent.indexof ('opera')> = 0 || navigator.useragent.indexof ('safari')> = 0 || navigator.indexof navigator.useragent.indexof ('webkit')> = 0) {if (window.history.length> 1) {window.history.go (-1) ؛ } آخر {window.opener = null ؛ window.close () ؛ }} آخر {// غير معروف Window.history.go (-1) ؛ }}}