border=0

"217.74.241.24 - 217.74.241.24"

Hoe om te leiden naar een andere webpagina?

Hoe een gebruiker van de ene naar de andere pagina omleiden met jQuery of pure javascript?

7732
02 февр. set venkatachalam 02 feb 2009-02-02 15:54 '09 om 15:54, 2009-02-02 15:54
@ 80 antwoorden
  • 1
  • 2
  • 3

Men leidt niet alleen om met behulp van jQuery

jQuery is niet vereist en window.location.replace(...) best gesimuleerde HTTP-omleiding.

window.location.replace(...) beter dan het gebruik van window.location.href , omdat replace() de oorspronkelijke pagina niet in de sessiegeschiedenis opslaat, dat wil zeggen dat de gebruiker niet vastzit in het eindeloze fiasco van de knop Terug.

Als je iemand wilt imiteren door op de link te klikken, gebruik dan location.href

Als u HTTP-omleiding wilt simuleren, gebruikt u location.replace

Bijvoorbeeld:

 // similar behavior as an HTTP redirect window.location.replace("http://stackoverflow.com"); // similar behavior as clicking on a link window.location.href = "http://stackoverflow.com"; 
13800
03 февр. het antwoord wordt gegeven door Ryan McGeary op 3 februari. 2009-02-03 07:24 '09 om 07:24 uur 2009-02-03 07:24 uur

WAARSCHUWING: dit antwoord werd eenvoudigweg als een mogelijke oplossing verstrekt; dit is natuurlijk niet de beste oplossing, aangezien jQuery hiervoor vereist is. Geef liever de voorkeur aan een schone JavaScript-oplossing.

1560
28 окт. antwoord gegeven door Boris Guéry op 28 oktober 2009-10-28 19:35 '09 om 19:35 2009-10-28 19:35

Standaard "vanille" javascript pagina omleiding methode:

window.location.href = 'newPage.html';


Als je hier bent omdat je HTTP_REFERER verliest bij het omleiden, blijf lezen:


Het volgende gedeelte is bedoeld voor degenen die HTTP_REFERER als een van de vele veilige maatregelen (hoewel dit geen geweldige beschermingsmaatregel is). Als u Internet Explorer 8 of lager gebruikt, gaan deze variabelen verloren wanneer u de JavaScript-pagina omleidt (location.href, enz.).

Hieronder gaan we een alternatief implementeren voor IE8 en lager , zodat we HTTP_REFERER niet verliezen. Anders kunt u bijna altijd alleen window.location.href .

Testen via HTTP_REFERER (URL-invoeging, sessie, etc.) kan handig zijn om te bepalen of een verzoek legitiem is. ( Opmerking: er zijn ook manieren om deze verwijzers te omzeilen / cheaten, zoals opgemerkt in de beschrijving van links met een fout)


Een eenvoudige oplossing voor cross-browser testen (terugdraaien naar window.location.href voor Internet Explorer 9+ en alle andere browsers)

Gebruik: redirect('anotherpage.aspx');

 function redirect (url) { var ua = navigator.userAgent.toLowerCase(), isIE = ua.indexOf('msie') !== -1, version = parseInt(ua.substr(4, 2), 10); // Internet Explorer 8 and lower if (isIE  version < 9) { var link = document.createElement('a'); link.href = url; document.body.appendChild(link); link.click(); } // All other browsers can use the standard window.location.href (they don't lose HTTP_REFERER like Internet Explorer 8  lower does) else { window.location.href = url; } } 
570
27 июля '12 в 17:41 2012-07-27 17:41 het antwoord wordt gegeven door Mark Pieszak - Trilon.io 27 juli '12 om 17:41 2012-07-27 17:41

Er zijn veel manieren om dit te doen.

 // 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') 
386
28 янв. Govind Singh antwoordde op 28 jan 2014-01-28 07:28 '14 om 7:28 2014-01-28 07:28

Het werkt voor elke browser:

 window.location.href = 'your_url'; 
300
23 окт. antwoord gegeven aan Fred op 23 oktober. 2010-10-23 02:45 '10 om 2.45 uur 2010-10-23 02:45

Het zou helpen als je wat meer visueel zou zijn over wat je probeert te doen. Als u paged data probeert te genereren, zijn er enkele opties in hoe u het doet. U kunt afzonderlijke links maken voor elke pagina waarmee u rechtstreeks een koppeling wilt maken.

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

Merk op dat de huidige pagina in het voorbeeld anders wordt behandeld in de code en met CSS.

Als u wilt dat de paginagegevens worden gewijzigd met behulp van AJAX, zal jQuery hier bij betrokken zijn. Wat u zou doen, is een click-handler toevoegen voor elk van de anchor-tags die overeenkomen met de andere pagina. Deze handler roept een jQuery-code aan die is verzonden en geeft de volgende pagina weer via AJAX en werkt de tabel bij met nieuwe gegevens. In het onderstaande voorbeeld wordt aangenomen dat u een webservice hebt die nieuwe paginadata retourneert.

 $(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 }); }); 
277
02 февр. Het antwoord wordt gegeven door tvanfosson 02 feb. 2009-02-02 16:18 '09 om 16:18 2009-02-02 16:18

Ik denk ook dat location.replace(URL) de beste manier is, maar als u zoekmachines van uw omleiding op de hoogte wilt stellen (ze parseren de JavaScript-code niet om de omleiding te bekijken), moet u een rel="canonical" metatag toevoegen aan uw site.

Het is ook een goede oplossing om een ​​noscript-sectie met daarin HTML-update-metatags toe te voegen. Ik stel voor dat u deze JavaScript-omleidingstool gebruikt om omleidingen te maken. Het heeft ook Internet Explorer-ondersteuning voor het verzenden van een HTTP-verwijzer.

Voorbeeldcode zonder vertraging ziet er als volgt uit:

 <!-- Place this snippet right after opening the head tag to make it work properly --> <!-- This code is licensed under GNU GPL v3 --> <!-- You are allowed to freely copy, distribute and use this code, but removing author credit is strictly prohibited --> <!-- Generated by http://insider.zone/tools/client-side-url-redirect-generator/ --> <!-- REDIRECTING STARTS --> <link rel="canonical" href="https://yourdomain.com/"/> <noscript> <meta http-equiv="refresh" content="0;URL=https://yourdomain.com/"> </noscript> <!--[if lt IE 9]><script type="text/javascript">var IE_fix=true;</script><![endif]--> <script type="text/javascript"> var url = "https://yourdomain.com/"; if(typeof IE_fix != "undefined") // IE8 and lower fix to pass the http referer { document.write("redirecting..."); // Don't remove this line or appendChild() will fail because it is called before document.onload to make the redirect as fast as possible. Nobody will see this text, it is only a tech fix. var referLink = document.createElement("a"); referLink.href = url; document.body.appendChild(referLink); referLink.click(); } else { window.location.replace(url); } // All other browsers </script> <!-- Credit goes to http://insider.zone/ --> <!-- REDIRECTING ENDS --> 
236
25 апр. het antwoord wordt gegeven door Patartics Milán op 25 april 2013-04-25 13:12 '13 om 13:12 2013-04-25 13:12

Maar als iemand naar de startpagina wil doorsturen, kan hij het volgende fragment gebruiken.

 window.location = window.location.host 

Het zou handig zijn als je drie verschillende omgevingen had: ontwikkeling, productie en productie.

U kunt dit venster of het object window.location onderzoeken door deze woorden eenvoudig in de Chrome- of Firebug- console te plaatsen.

211
30 окт. Het antwoord wordt gegeven door Nadeem Yasin op 30 oktober. 2012-10-30 15:15 '12 om 15:15 uur 2012-10-30 15:15 uur

JavaScript biedt u vele methoden om de huidige URL in de adresbalk van uw browser te extraheren en te wijzigen. Al deze methoden gebruiken het Location-object, dat een eigenschap is van het Window-object. U kunt als volgt een nieuw Location-object met de huidige URL maken.

 var currentLocation = window.location; 

Basis URL-structuur

 <protocol>//<hostname>:<port>/<pathname><search><hash> 

2019

198
23 дек. Het antwoord wordt gegeven door Nikhil Agrawal 23 december 2013-12-23 16:35 '13 om 16:35 2013-12-23 16:35

Moet gewoon worden geconfigureerd met behulp van window.location .

bijvoorbeeld:

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

Hier is het vorige artikel over dit onderwerp:

Hoe om te leiden naar een andere webpagina?

187
16 февр. Het antwoord is gegeven Newse 16 feb. 2014-02-16 17:42 '14 om 17:42 2014-02-16 17:42

In feite is jQuery slechts een JavaScript- infrastructuur en om bepaalde dingen te bereiken, zoals omleiding in dit geval, kunt u eenvoudig pure JavaScript gebruiken, dus in dit geval heeft u 3 opties voor het gebruik van vanilla JavaScript:

1) Het bepalen van een locatie met behulp van een swap, dit vervangt de huidige paginageschiedenis, betekent dat u de terugknop niet kunt gebruiken om terug te gaan naar de originele pagina.

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

2) Met behulp van de bestemmingslocatie slaat u de geschiedenis op en met behulp van de knop Terug kunt u terugkeren naar de originele pagina:

 window.location.assign("http://stackoverflow.com"); 

3) Ik raad aan om een ​​van deze eerdere methoden te gebruiken, maar het zou de derde optie kunnen zijn als je pure javascript gebruikt:

 window.location.href="http://stackoverflow.com"; 

Je kunt ook een functie in jQuery schrijven om het te verwerken, maar dit wordt niet aanbevolen omdat het slechts één regel JavaScript-functie is, je kunt ook alle bovenstaande functies zonder een venster gebruiken als je al in het vensterbereik bent, bijvoorbeeld window.location.replace("http://stackoverflow.com"); kan location.replace("http://stackoverflow.com");

Ik laat ze ook allemaal zien in de afbeelding hieronder:

2019

26 февр. Antwoord wordt gegeven door Alireza op 26 februari. 2017-02-26 16:36 17 om 16:36 uur 2017-02-26 16:36 uur

Voordat u begint, is jQuery een JavaScript-bibliotheek die wordt gebruikt om de DOM te manipuleren. Gebruik daarom jQuery niet om de pagina om te leiden.

Citaat van jquery.com:

Hoewel jQuery zonder ernstige problemen kan werken in oudere versies van de browser, testen we jQuery niet actief in deze en lossen we meestal geen fouten op die erin kunnen voorkomen.

Deze is hier gevonden: https://jquery.com/browser-support/

Daarom is jQuery geen alles-en-geen-oplossing voor compatibiliteit met eerdere versies.

De volgende oplossing, die gebruik maakt van onbewerkte JavaScript, werkt in alle browsers en is al geruime tijd standaard, dus u hebt geen bibliotheken nodig om cross-browser te ondersteunen.

Deze pagina wordt na 3000 milliseconden omgeleid naar Google .

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

De volgende opties zijn mogelijk:

 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" 

Bij het vervangen keert de knop Terug niet terug naar de omleidingspagina, alsof deze nooit in de geschiedenis is geweest. Als u wilt dat de gebruiker terugkeert naar de omleidingspagina, gebruikt u window.location.href of window.location.assign . Als u de optie gebruikt waarmee de gebruiker naar de omleidingspagina kan terugkeren, moet u er rekening mee houden dat wanneer u de omleidingspagina opent, deze u opnieuw omleidt. Overweeg dit daarom bij het kiezen van de optie om door te sturen. In omstandigheden waarin de pagina alleen wordt omgeleid wanneer de actie door de gebruiker wordt uitgevoerd, is de aanwezigheid van de pagina in de geschiedenis van de knoppen Terug prima. Maar als de pagina automatisch wordt omgeleid, moet u een vervanging gebruiken zodat de gebruiker de knop Terug kan gebruiken zonder gedwongen terugzending naar de pagina die is verzonden door omleiding.

U kunt ook metagegevens gebruiken om de paginaomleiding te starten, zoals hieronder wordt weergegeven.

META update

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

META-locatie

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

BASE Hijacking

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

Op deze pagina vindt u vele andere manieren om uw nietsvermoedende client door te sturen naar een pagina die zij misschien niet willen, maar geen van hen is afhankelijk van jQuery:

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

Ik wil er ook op wijzen dat mensen niet graag willekeurig worden omgeleid. Alleen mensen omleiden als dit absoluut noodzakelijk is. Als u mensen in een willekeurige volgorde begint om te leiden, zullen ze uw site nooit meer bezoeken.

Het volgende deel is hypothetisch:

U ontvangt mogelijk ook een bericht als een kwaadwillende site. Als dit gebeurt, kunnen mensen die op de link naar uw site klikken, hen waarschuwen dat uw site kwaadaardig is. Het kan ook voorkomen dat zoekmachines beginnen te downgraden als mensen slechte ervaringen melden op uw site.

Bekijk de webmasterrichtlijnen van Google voor doorverwijzing: https://support.google.com/webmasters/answer/2721217?hl=en>

Hier is een leuke kleine pagina die je uit de pagina gooit.

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

Als u twee voorbeeldpagina's samenvoegt, heeft u een lus voor pasgeborenen, wat ervoor zorgt dat uw gebruiker uw site nooit meer wil gebruiken.

28 авг. antwoord gegeven door Patrick W. McMahon 28 aug. 2014-08-28 00:50 '14 om 0:50 2014-08-28 00:50
 var url = 'asdf.html'; window.location.href = url; 
156
13 окт. het antwoord wordt gegeven door user188973 op 13 oktober 2009-10-13 12:36 '09 om 12:36 2009-10-13 12:36

U kunt dit doen zonder jQuery zoals:

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

En als u alleen jQuery wilt, dan kunt u het doen als:

 $jq(window).attr("location","http://yourdomain.com"); 
137
23 мая '12 в 16:03 2012-05-23 16:03 het antwoord wordt ScoRpion gegeven 23 mei '12 om 16:03 uur 2012-05-23 16:03

Dit werkt met jQuery:

 $(window).attr("location", "http://google.fr"); 
136
05 сент. Het antwoord is xloadx 05 september gegeven. 2011-09-05 20:25 '11 om 20:25 2011-09-05 20:25

# Een HTML-pagina doorsturen met jQuery / JavaScript

Probeer deze voorbeeldcode:

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

Als u de volledige URL als window.location = "www.google.co.in"; wilt opgeven window.location = "www.google.co.in"; .

83
06 февр. het antwoord wordt gegeven door Sakthi Karthik 06 feb. 2014-02-06 13:28 '14 om 13:28 2014-02-06 13:28

U moet deze regel in uw code invoegen:

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

Als je jQuery niet hebt, gebruik dan JavaScript:

 window.location.replace("http://stackoverflow.com"); window.location.href("http://stackoverflow.com"); 
77
27 янв. het antwoord wordt gegeven door Ashish Ratan 27 januari 2014-01-27 13:11 '14 om 13:11, 2014-01-27 13:11

Dus de vraag is hoe de pagina omleiden, niet hoe om te leiden naar de website?

Om dit te doen moet je Javascript gebruiken. Hier is een kleine code die een dynamische omleidingspagina zal creëren.

 <script> var url = window.location.search.split('url=')[1]; // Get the URL after ?url= if( url ) window.location.replace(url); </script> 

Dus vertel me dat je dit fragment zojuist in het redirect/index.html bestand op je website hebt gezet, je kunt het zo gebruiken.

http://www.mywebsite.com/redirect?url=http://stackoverflow.com

En als u deze link volgt, wordt u automatisch doorgestuurd naar stackoverflow.com .

Documentatie link

En hoe creëer je een eenvoudige omleidingspagina met javascript

Edit:

Er is ook een opmerking. Ik heb window.location.replace aan mijn code toegevoegd, omdat ik denk dat het naar de omleidingspagina gaat, maar dat zou je moeten weten wanneer je window.location.replace en je wordt omgeleid wanneer je op de terugknop in je browser klikt , ze zal niet terugkeren naar de omleidingspagina, en ze zal terugkeren naar de pagina voor haar, bekijk dit kleine demoverhaal.

bijvoorbeeld:

Verwerken: keep home => omleiden van de pagina naar google => google

Wanneer in google: google => terugknop in browser => thuis opslaan

Dus, als dit past bij uw behoeften, dan zou alles in orde moeten zijn. Als u de omleidingspagina in uw browsergeschiedenis wilt opnemen, vervangt u deze.

 if( url ) window.location.replace(url); 

met

 if( url ) window.location.href = url; 
74
31 авг. Antwoord gegeven door iConnor 31 augustus 2013-08-31 02:46 '13 om 2:46 2013-08-31 02:46

Voeg in je klikfunctie gewoon toe:

 window.location.href = "The URL where you want to redirect"; $('#id').click(function(){ window.location.href = "http://www.google.com"; }); 
69
14 нояб. het antwoord wordt gegeven door swaprks 14 nov. 2012-11-14 05:17 '12 om 5:17 2012-11-14 05:17

***** DE ORIGINELE VRAAG WAS - "HOE HET GEBRUIK VAN JQUERY TE BEOORDELEN", DAAROM BEANTWOORDT HET ANTWOORD JUICHIGHEID >> GRATIS GEBRUIK *****

Gewoon doorverwijzen naar de pagina met behulp van javascript:

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

Of als u een vertraging nodig hebt:

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

Met jQuery kunt u eenvoudig elementen van een webpagina selecteren. U kunt alles vinden wat u zoekt op de pagina en vervolgens jQuery gebruiken om speciale effecten toe te voegen, reageren op acties van gebruikers of inhoud weergeven en verbergen binnen of buiten het door u gekozen element. Al deze taken beginnen met weten hoe een element of gebeurtenis moet worden geselecteerd .

  $('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 go redirect window.location.href = "/contact/"; },500); }); 

Stel je voor dat iemand een script / plug-in heeft geschreven met 10.000 regels code? Welnu, met jQuery kun je met slechts één regel of twee verbinding maken met deze code.

69
26 дек. het antwoord wordt gegeven SergeDirect 26 dec. 2014-12-26 22:08 '14 om 22:08 2014-12-26 22:08

Probeer het volgende:

 location.assign("http://www.google.com"); 

voorbeeld codefragment .

57
19 нояб. Het antwoord is tilak 19 nov. Gegeven . 2013-11-19 07:01 '13 om 7:01 uur 2013-11-19 07:01

jQuery is niet verplicht. U kunt dit doen:

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

Zo eenvoudig is het!

De beste manier om een ​​HTTP-aanvraag te initiëren is document.loacation.href.replace('URL') .

53
11 июля '13 в 20:40 2013-07-11 20:40 het antwoord wordt gegeven door burgemeesterMonty 11 juli '13 om 20:40 uur 2013-07-11 20:40

U kunt als volgt omleiden naar jQuery:

 $(location).attr('href', 'http://yourPage.com/'); 
50
05 сент. Antwoord gegeven door Azam Alvi 05 Sep. 2014-09-05 19:36 '14 om 19:36 2014-09-05 19:36

Schrijf eerst correct. U wilt binnen de toepassing navigeren voor een andere link vanuit uw toepassing naar een andere link. Hier is de code:

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