چگونه در جاوا اسکریپت به صفحه دیگر ریدایرکت کنم؟

  • آخرین بروزرسانی پرسش در کاپ کد در چهارشنبه 01 آوریل 2020

چطور می تونم کاربر رو از یک صفحه به صفحه ای دیگه با استفاده از جاوا اسکریپت یا جی کوئری ریدایرکت کنم؟

پرسش امتیازی🔝
تعداد بازدید 6131927
امتیاز 7724👍
رای 7808👍
📅 پرسش در
📅 آخرین ویرایش

برای این پرسش 7 پاسخ وجود دارد

7

معمولا برای ریدایرکت کردن از جی کوئری استفاده نمیشه

نیازی به استفاده از جی کوئر نیست و window.location.replace(...)ریدایرکت HTTP رو به خوبی شبیه سازی میکنه.

window.location.replace(...) از window.location.href بهتره چرا که replace() در تاریخچه سشن صفحه ای که ریدایرکت از اون صورت گرفته رو نگهداری نمیکنه و این به این معناست که کاربر گرفتار دکمه برگشت بدون پایان نمیشه.

اگر می خوای کلیک روی لینک رو شبیه سازی کنی، از location.href استفاده کن

اگر می خوای ریدایرکت HTTP رو شبیه سازی کنی، از location.replaceاستفاده کن

برای مثال:

// similar behavior as an HTTP redirect
window.location.replace("http://cupcode.ir");

// similar behavior as clicking on a link
window.location.href = "http://cupcode.ir";

امتیاز 14656👍

پاسخ تایید شده
📅 پاسخ در
📅 آخرین ویرایش

اگر توضیح بیشتری درباره کاری که میخوای انجام بدی میدادی، بیشتر کمک می کرد. اگر سعی داری یک داده صفحه بندی شده ایجاد کنی، گزینه هایی برای انجام این کار وجود داره. میتونی لینک های جدا برای مراجعه مستقیم برای هر صفحه ایجاد کنی .

<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 مدیریت میشه.

اگر می خوای داده های صفحه بندی شده با استفاده از ایجکس تغییر کنه، این جایی هست که جی کوئری دست به کار میشه. کاری که باید بکنی اینه که یک هندلر برای کلیک هر یک از برچسب های آنکر که به صفحه های مختلف متناظر شدن، اضافه کنی. هندلر کلیک کد های جی کوئری رو اجرا می کنه که کارش دریافت صفحه بعدی با استفاده از ایجکس و بروزرسانی جدول با استفاده از داده های جدید هست. مثال زیر فرض رو بر این میگیره که شما یک وب سرویس داری که داده های صفحه جدید رو بر میگردونه.

$(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
    });
});

امتیاز 297👍

📅 پاسخ در
📅 آخرین ویرایش
var url = 'asdf.html';
window.location.href = url;

امتیاز 164👍

📅 پاسخ در
📅 آخرین ویرایش

هشدار: این پاسخ صرفا به عنوان یکی از راهکار های ممکن ارائه شده و بهترین راهکار ممکن نیست چرا که نیاز به جی کوئری داره. در عوض، راهکاری که با جاوا اسکریپت باشه اولویت بیشتری داره.

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

امتیاز 1666👍

📅 پاسخ در
📅 آخرین ویرایش

این روش برای همه مرورگر ها کار می کنه:

window.location.href = 'your_url';

امتیاز 325👍

📅 پاسخ در
📅 آخرین ویرایش

این با جی کوئری کار میکنه:

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

امتیاز 143👍

📅 پاسخ در
📅 آخرین ویرایش

میتونی بدون جی کوئری این کار رو انجام بدی:

window.location = "http://yourdomain.com";

و اگر میخوای از جی کوئری استفاده بشه:

$jq(window).attr("location","http://yourdomain.com");

امتیاز 144👍

📅 پاسخ در
📅 آخرین ویرایش
برای دنبال کردن نوشته های کاپ کد به کانال تلگرامی آن (cupcode_ir@) بپیوندید!

دیدگاه خود را بیان کنید

@