[Javascript] كيف أقوم بإعادة التوجيه إلى صفحة ويب أخرى؟


Answers

تحذير: تم تقديم هذه الإجابة فقط كحل محتمل ؛ من الواضح أنه ليس الحل الأفضل ، لأنه يتطلب jQuery. بدلاً من ذلك ، تفضل حل JavaScript الخالص.

$(location).attr('href', 'http://stackoverflow.com')
Question

كيف يمكنني إعادة توجيه المستخدم من صفحة إلى أخرى باستخدام jQuery أو JavaScript خالص؟




من المفيد أن تكون أكثر وضوحًا في ما تحاول القيام به. إذا كنت تحاول إنشاء بيانات مقسم إلى صفحات ، فهناك بعض الخيارات في كيفية القيام بذلك. يمكنك إنشاء روابط منفصلة لكل صفحة ترغب في الوصول إليها مباشرة.

<a href='/path-to-page?page=1' class='pager-link'>1</a>
<a href='/path-to-page?page=2' class='pager-link'>2</a>
<span class='pager-link current-page'>3</a>
...

لاحظ أن الصفحة الحالية في المثال يتم التعامل معها بشكل مختلف في الشفرة ومع CSS.

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

$(document).ready( function() {
    $('a.pager-link').click( function() {
        var page = $(this).attr('href').split(/\?/)[1];
        $.ajax({
            type: 'POST',
            url: '/path-to-service',
            data: page,
            success: function(content) {
               $('#myTable').html(content);  // replace
            }
        });
        return false; // to stop link
    });
});



اكتب أولا بشكل صحيح. تريد التنقل داخل تطبيق لرابط آخر من تطبيقك لرابط آخر. هنا هو الرمز:

window.location.href = "http://www.google.com";

وإذا كنت ترغب في تصفح الصفحات داخل التطبيق الخاص بك ، فإن لدي أيضًا رمزًا ، إذا كنت تريد ذلك.




استعمال:

// window.location
window.location.replace('http://www.example.com')
window.location.assign('http://www.example.com')
window.location.href = 'http://www.example.com'
document.location.href = '/path'

// window.history
window.history.back()
window.history.go(-1)

// window.navigate; ONLY for old versions of Internet Explorer
window.navigate('top.jsp')


// Probably no bueno
self.location = 'http://www.example.com';
top.location = 'http://www.example.com';

// jQuery
$(location).attr('href','http://www.example.com')
$(window).attr('location','http://www.example.com')
$(location).prop('href', 'http://www.example.com')



هذا يعمل مع jQuery:

$(window).attr("location", "http://google.fr");



ولكن إذا أراد شخص ما إعادة التوجيه إلى الصفحة الرئيسية ، فيجوز له استخدام المقتطف التالي.

window.location = window.location.host

سيكون من المفيد إذا كان لديك ثلاث بيئات مختلفة مثل التطوير ، التدريج ، والإنتاج.

يمكنك استكشاف هذه النافذة أو كائن window.location بمجرد وضع هذه الكلمات في وحدة تحكم Chrome أو وحدة تحكم Firebug .




هناك ثلاث طرق رئيسية للقيام بذلك ،

window.location.href='blaah.com';
window.location.assign('blaah.com');

و...

window.location.replace('blaah.com');

والأخير هو الأفضل ، لإعادة توجيه تقليدي ، لأنه لن يحفظ الصفحة التي ذهبت إليها قبل إعادة توجيهها في سجل البحث الخاص بك. ومع ذلك ، إذا كنت ترغب فقط في فتح علامة تبويب باستخدام JavaScript ، فيمكنك استخدام أي مما سبق. 1

تحرير: البادئة window اختيارية.




في وظيفة النقر ، ما عليك سوى إضافة:

window.location.href = "The URL where you want to redirect";
$('#id').click(function(){
    window.location.href = "http://www.google.com";
});



يجب أن تضع هذا السطر في شفرتك:

$(location).attr("href","http://.com");

إذا لم يكن لديك jQuery ، فانتقل إلى JavaScript باستخدام:

window.location.replace("http://.com");



ECMAScript 6 + jQuery ، 85 بايت

$({jQueryCode:(url)=>location.replace(url)}).attr("jQueryCode")("http://example.com")

من فضلك لا تقتلني ، هذه مزحة. إنها مزحة. انها مزحة.

هذا "يوفر إجابة على السؤال" ، بمعنى أنه طلب حل "باستخدام jQuery" الذي في هذه الحالة يستلزم إجباره في المعادلة بطريقة أو بأخرى.

يبدو أن Ferrybig يحتاج إلى شرح النكتة (لا يزال يمزح ، أنا متأكد من أن هناك خيارات محدودة في نموذج المراجعة) ، لذلك دون مزيد من اللغط:

إجابات أخرى تستخدم attr() jQuery على كائنات location أو window دون داع.

هذه الإجابة تسيء إليها أيضًا ، ولكن بطريقة أكثر سخرية. بدلاً من استخدامه لتعيين الموقع ، يستخدم هذا attr() لاسترداد دالة تقوم بتعيين الموقع.

يتم تسمية الدالة jQueryCode على الرغم من أنه لا يوجد شيء jQuery حول هذا الموضوع ، و استدعاء دالة somethingCode مروعة فقط ، خاصة عندما لا يكون هناك شيء حتى لغة.

"85 بايت" هو مرجع إلى Code Golf. من الواضح أن لعبة الجولف ليست شيئًا يجب عليك فعله خارج لعبة الغولف ، علاوة على ذلك ، فإن هذه الإجابة ليست لعبة غولف.

أساسا ، تذلل.







var url = 'asdf.html';
window.location.href = url;



فيما يلي إعادة توجيه تأخير الوقت. يمكنك ضبط وقت التأخير على كل ما تريد:

<!doctype html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Your Document Title</title>
    <script type="text/javascript">
        function delayer(delay) {
            onLoad = setTimeout('window.location.href = "http://www.google.com/"', delay);
        }
    </script>
</head>

<body>
    <script>
        delayer(8000)
    </script>
    <div>You will be redirected in 8 seconds!</div>
</body>

</html>



# إعادة توجيه صفحة HTML باستخدام jQuery / JavaScript

جرب هذا المثال رمز:

function YourJavaScriptFunction()
{
    var i = $('#login').val();
    if (i == 'login')
        window.location = "login.php";
    else
        window.location = "Logout.php";
}

إذا كنت تريد إعطاء عنوان URL كامل باسم window.location = "www.google.co.in"; .




***** وكان السؤال الأصلي - "كيفية إعادة استخدام استخدام JQUERY" ، ومن ثم جواب تطبيقات الجواب >> حالة الاستعانة بالمتطلبات *****

لإعادة التوجيه فقط إلى صفحة باستخدام JavaScript:

  window.location.href = "/contact/";

أو إذا كنت بحاجة إلى تأخير:

setTimeout(function () {
  window.location.href = "/contact/";
}, 2000);   // Time in milliseconds

يتيح لك jQuery اختيار عناصر من صفحة الويب بسهولة. يمكنك العثور على أي شيء تريده على صفحة ، ثم استخدام jQuery لإضافة تأثيرات خاصة أو التفاعل مع إجراءات المستخدم أو إظهار وإخفاء المحتوى داخل أو خارج العنصر الذي حددته. تبدأ كل هذه المهام بمعرفة كيفية تحديد عنصر أو حدث .

     $('a,img').on('click',function(e){
         e.preventDefault();
         $(this).animate({
             opacity: 0 //Put some CSS animation here
         }, 500);
         setTimeout(function(){
           // OK, finished jQuery staff, let's go redirect
           window.location.href = "/contact/";
         },500);
     });

تخيل شخص ما كتب البرنامج النصي / البرنامج المساعد الذي هو 10000 سطر من التعليمات البرمجية ؟! حسنًا ، باستخدام jQuery ، يمكنك الاتصال بهذا الرمز مع سطر أو خطين فقط.