javascript weiterleitung php - Wie leite ich auf eine andere Webseite um?




15 Answers

WARNUNG: Diese Antwort wurde lediglich als mögliche Lösung bereitgestellt. Es ist offensichtlich nicht die beste Lösung, da es jQuery erfordert. Ziehen Sie stattdessen die reine JavaScript-Lösung vor.

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

Wie kann ich den Benutzer mithilfe von jQuery oder reinem JavaScript von einer Seite auf eine andere umleiten?




Benutzen:

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



Es wäre hilfreich, wenn Sie bei dem, was Sie versuchen, etwas beschreibender wäre. Wenn Sie versuchen, ausgelagerte Daten zu generieren, gibt es einige Möglichkeiten, wie Sie dies tun. Sie können für jede Seite, zu der Sie direkt gelangen möchten, separate Links erstellen.

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

Beachten Sie, dass die aktuelle Seite im Beispiel im Code und mit CSS unterschiedlich behandelt wird.

Wenn Sie möchten, dass die ausgelagerten Daten über AJAX geändert werden, würde hier jQuery zum Einsatz kommen. Sie würden zu jedem Ankertag einen Klick-Handler hinzufügen, der einer anderen Seite entspricht. Dieser Click-Handler würde einen jQuery-Code aufrufen, der die nächste Seite über AJAX abruft und die Tabelle mit den neuen Daten aktualisiert. Im folgenden Beispiel wird davon ausgegangen, dass Sie über einen Webdienst verfügen, der die neuen Seitendaten zurückgibt.

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



Wenn jedoch jemand zur Startseite umleiten möchte, kann er das folgende Snippet verwenden.

window.location = window.location.host

Es wäre hilfreich, wenn Sie drei verschiedene Umgebungen wie Entwicklung, Bereitstellung und Produktion haben.

Sie können dieses Fenster oder das window.location-Objekt erkunden, indem Sie diese Wörter einfach in Chrome Console oder Firebug 's Console einfügen.







Bevor ich anfange, ist jQuery eine JavaScript-Bibliothek, die für die DOM-Manipulation verwendet wird. Daher sollten Sie jQuery nicht für eine Seitenumleitung verwenden.

Ein Zitat von Jquery.com:

Während jQuery in älteren Browserversionen möglicherweise ohne größere Probleme ausgeführt wird, testen wir jQuery nicht aktiv darin und beheben im Allgemeinen keine darin enthaltenen Fehler.

Es wurde hier gefunden: https://jquery.com/browser-support/

Daher ist jQuery keine Lösung für Abwärtskompatibilität.

Die folgende Lösung mit rohem JavaScript funktioniert in allen Browsern und ist seit langem Standard, sodass Sie keine Bibliotheken für die Cross-Browser-Unterstützung benötigen.

Diese Seite wird nach 3000 Millisekunden zu google.com weitergeleitet

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

Unterschiedliche Optionen sind wie folgt:

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"

Wenn Sie "Ersetzen" verwenden, kehrt die Schaltfläche "Zurück" nicht zur Umleitungsseite zurück, als wäre sie nie im Verlauf enthalten. Wenn Sie möchten, dass der Benutzer zur Umleitungsseite zurückkehren kann, verwenden Sie window.location.href oder window.location.assign . Wenn Sie eine Option verwenden, mit der der Benutzer zur Umleitungsseite zurückkehren kann, müssen Sie daran denken, dass Sie beim Aufrufen der Umleitungsseite Sie umgeleitet werden. Berücksichtigen Sie dies, wenn Sie eine Option für Ihre Weiterleitung auswählen. Unter Bedingungen, bei denen die Seite nur umgeleitet wird, wenn der Benutzer eine Aktion ausführt, ist es in Ordnung, wenn die Seite im Verlauf der Schaltfläche "Zurück" angezeigt wird. Wenn die Seite automatisch umgeleitet wird, sollten Sie "replace" verwenden, damit der Benutzer die Schaltfläche "Zurück" verwenden kann, ohne zur Seite gezwungen zu werden, die von der Umleitung gesendet wird.

Sie können auch Metadaten verwenden, um eine Seitenumleitung wie folgt auszuführen.

META Refresh

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

META-Standort

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

BASE Hijacking

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

Auf dieser Seite finden Sie viele weitere Methoden, um Ihren ahnungslosen Client auf eine Seite umzuleiten, die Sie möglicherweise nicht besuchen möchten (keine davon ist auf jQuery angewiesen):

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

Ich möchte auch darauf hinweisen, dass die Leute nicht willkürlich umgeleitet werden. Leiten Sie Personen nur dann um, wenn dies absolut notwendig ist. Wenn Sie Personen zufällig umleiten, werden sie nie wieder auf Ihre Website geleitet.

Der nächste Teil ist hypothetisch:

Möglicherweise werden Sie auch als schädliche Site gemeldet. Wenn dies der Fall ist, wird der Benutzerbrowser möglicherweise durch Klicken auf einen Link zu Ihrer Website darauf hingewiesen, dass Ihre Website schädlich ist. Es kann auch passieren, dass Suchmaschinen Ihre Bewertung fallen lassen, wenn Personen auf Ihrer Website schlechte Erfahrungen machen.

Lesen Sie die Google Webmaster-Richtlinien zu Weiterleitungen: https://support.google.com/webmasters/answer/2721217?hl=en&ref_topic=6001971

Hier ist eine lustige kleine Seite, die Sie aus der Seite wirft.

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

Wenn Sie die beiden Seitenbeispiele miteinander kombinieren, haben Sie eine Umleitungsschleife für Kinder, die garantiert, dass Ihr Nutzer Ihre Website nie wieder verwenden möchte.




Sie können das ohne jQuery als:

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

Und wenn Sie nur jQuery wollen, können Sie dies wie folgt tun:

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



# HTML-Seitenumleitung mit jQuery / JavaScript

Versuchen Sie diesen Beispielcode:

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

Wenn Sie eine vollständige URL als window.location = "www.google.co.in"; .




Sie müssen diese Zeile in Ihren Code einfügen:

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

Wenn Sie nicht über jQuery verfügen, gehen Sie in JavaScript mit:

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



***** DIE URSPRÜNGLICHE FRAGE WURDE - "WIE MAN JQUERY VERWENDET", DIE ANTWORT ERSETZT JQUERY >> KOMPLIMENTARER NUTZUNGSFALL *****

So leiten Sie einfach mit JavaScript auf eine Seite um:

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

Oder wenn Sie eine Verzögerung brauchen:

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

Mit jQuery können Sie auf einfache Weise Elemente von einer Webseite auswählen. Sie können alles, was Sie möchten, auf einer Seite finden und anschließend mit jQuery Spezialeffekte hinzufügen, auf Benutzeraktionen reagieren oder Inhalt innerhalb oder außerhalb des ausgewählten Elements anzeigen und ausblenden. Alle diese Aufgaben beginnen mit dem Wissen, wie ein Element oder ein Ereignis ausgewählt wird .

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

Stellen Sie sich vor, jemand hat ein Skript / ein Plugin geschrieben, das aus 10000 Zeilen Code besteht. Mit jQuery können Sie sich mit ein oder zwei Zeilen mit diesem Code verbinden.




jQuery wird nicht benötigt. Du kannst das:

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

So einfach ist das!

Eine HTTP-Anfrage kann am besten mit document.loacation.href.replace('URL') initiiert werden.




Schreiben Sie zuerst richtig. Sie möchten innerhalb einer Anwendung nach einem anderen Link von Ihrer Anwendung nach einem anderen Link navigieren. Hier ist der Code:

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

Und wenn Sie innerhalb Ihrer Anwendung durch die Seiten navigieren möchten, habe ich auch Code, wenn Sie möchten.




In JavaScript und jQuery können wir den folgenden Code verwenden, um die eine Seite auf eine andere Seite umzuleiten:

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



Hier ist eine zeitverzögerte Umleitung. Sie können die Verzögerungszeit beliebig einstellen:

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



Ich musste diese Lächerlichkeit nur mit einer neueren jQuery-Methode aktualisieren:

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





Related