jquery javascript轉址 php轉址 - 如何重定向到其他網頁?





15 Answers

警告:此答案僅作為可能的解決方案提供; 它顯然不是最好的解決方案,因為它需要jQuery。 相反,更喜歡純JavaScript解決方案。

$(location).attr('href', 'http://stackoverflow.com')
網頁重定向 html redirect

如何使用jQuery或純JavaScript將用戶從一個頁面重定向到另一個頁面?




使用:

// 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')



如果您對自己想做的事情有一點描述性,那將會有所幫助。 如果您嘗試生成分頁數據,則有一些選項可用於執行此操作。 您可以為希望能夠直接訪問的每個頁面生成單獨的鏈接。

<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獲取下一頁並使用新數據更新表。 下面的示例假定您有一個返回新頁面數據的Web服務。

$(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 = window.location.host

如果您有三個不同的環境,如開發,登台和生產,將會很有幫助。

只需將這些單詞放在Chrome控制台或Firebug的控制台中,即可瀏覽此窗口或window.location對象。




應該只能使用window.location進行設置。

例:

window.location = "https://.com/";

這是關於這個主題的過去的帖子:

如何重定向到其他網頁?




在開始之前,jQuery是一個用於DOM操作的JavaScript庫。 所以你不應該使用jQuery進行頁面重定向。

來自Jquery.com的報價:

雖然jQuery可能在舊的瀏覽器版本中沒有出現重大問題,但我們並不主動測試它們中的jQuery,並且通常不會修復可能出現在它們中的錯誤。

它在這裡找到: https://jquery.com/browser-support/https://jquery.com/browser-support/

因此,jQuery並不是一種能夠實現向後兼容的最終解決方案。

以下使用原始JavaScript的解決方案適用於所有瀏覽器並且已經標準很長時間,因此您不需要任何庫來支持跨瀏覽器。

此頁面將在3000毫秒後重定向到google.com

<!DOCTYPE html>
<html>
    <head>
        <title>example</title>
    </head>
    <body>
        <p>You will be redirected to google shortly.</p>
        <script>
            setTimeout(function(){
                window.location.href="http://www.google.com"; // The URL that will be redirected too.
            }, 3000); // The bigger the number the longer the delay.
        </script>
    </body>
</html>

不同的選項如下:

window.location.href="url"; // Simulates normal navigation to a new page
window.location.replace("url"); // Removes current URL from history and replaces it with a new URL
window.location.assign("url"); // Adds new URL to the history stack and redirects to the new URL

window.history.back(); // Simulates a back button click
window.history.go(-1); // Simulates a back button click
window.history.back(-1); // Simulates a back button click
window.navigate("page.html"); // Same as window.location="url"

使用替換時,後退按鈕不會返回到重定向頁面,就好像它從未在歷史記錄中一樣。 如果您希望用戶能夠返回重定向頁面,請使用window.location.hrefwindow.location.assign 。 如果您確實使用了允許用戶返回重定向頁面的選項,請記住,當您進入重定向頁面時,它會重定向您。 因此,在為重定向選擇選項時要考慮到這一點。 在頁面僅在用戶完成操作時重定向的情況下,然後在後退按鈕歷史中具有頁面將是可以的。 但是,如果頁面自動重定向,那麼您應該使用替換,以便用戶可以使用後退按鈕而不會強制返回到重定向發送的頁面。

您還可以使用元數據來運行頁面重定向,如下所示。

META刷新

<meta http-equiv="refresh" content="0;url=http://evil.com/" />

META位置

<meta http-equiv="location" content="URL=http://evil.com" />

基地劫持

<base href="http://evil.com/" />

可以在此頁面上找到更多將您的毫無疑問的客戶端重定向到他們可能不希望訪問的頁面的方法(其中一個不依賴於jQuery):

https://code.google.com/p/html5security/wiki/RedirectionMethods

我還想指出,人們不喜歡被隨機重定向。 僅在絕對需要時重定向人員。 如果您開始隨機重定向人員,他們將永遠不會再次訪問您的網站。

下一部分是假設的:

您也可能被報告為惡意網站。 如果發生這種情況,那麼當用戶點擊指向您網站的鏈接時,用戶瀏覽器可能會警告他們您的網站是惡意的。 如果人們報告您網站上的不良體驗,搜索引擎可能會開始降低您的評分。

請查看有關重定向的Google網站站長指南: https://support.google.com/webmasters/answer/2721217?hl=en&ref_topic=6001971https://support.google.com/webmasters/answer/2721217?hl=en&ref_topic=6001971

這是一個有趣的小頁面,可以讓你離開頁面。

<!DOCTYPE html>
<html>
    <head>
        <title>Go Away</title>
    </head>
    <body>
        <h1>Go Away</h1>
        <script>
            setTimeout(function(){
                window.history.back();
            }, 3000);
        </script>
    </body>
</html>

如果您將兩個頁面示例組合在一起,您將擁有一個嬰兒循環重新路由,這將保證您的用戶永遠不會再想要再次使用您的網站。




你可以在沒有jQuery的情況下做到:

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

如果你只想要jQuery那麼你可以這樣做:

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



#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";




您需要在代碼中添加以下行:

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

如果您沒有jQuery,請使用以下命令運行JavaScript:

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



*****原始問題 - “如何重新使用JQUERY”,HANS THE ANSWER IMPLEMENTS 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,您只需一兩行即可連接到此代碼。




不需要jQuery。 你可以這樣做:

window.open("URL","_self","","")

就這麼簡單!

發起HTTP請求的最佳方法是使用document.loacation.href.replace('URL')




先寫好吧。 您希望在應用程序中導航,從您的應用程序中為另一個鏈接導航。 這是代碼:

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

如果你想在你的應用程序中導航頁面,那麼我也有代碼,如果你想。




在JavaScript和jQuery中,我們可以使用以下代碼將一個頁面重定向到另一個頁面:

window.location.href="http://google.com";
window.location.replace("page1.html");



這是一個延時重定向。 您可以將延遲時間設置為您想要的任何時間:

<!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>



我只需要用另一個更新的jQuery方法來更新這種荒謬:

var url = 'http://www.fiftywaystoleaveyourlocation.com';
$(location).prop('href', url);



Related