Als ik document.location gebruik om te redirecten dan gaat m'n referer verloren, hij vervangt gewoon de huidige locatie door een nieuwe, ipv de nieuwe locatie toe te voegen... Is er in javascript nog een andere manier om te redirecten?
document.location.replace of document.location.href = ''zorgt altijd voor vervanging van het huidige document..
Probeer eens window.open("/url", "_self");
Op deze manier wordt er ook netjes een entry in de history aangemaakt.
Probeer eens window.open("/url", "_self");
Op deze manier wordt er ook netjes een entry in de history aangemaakt.
[ Voor 28% gewijzigd door dominic op 05-12-2003 09:08 ]
Dan ben je toch alsnog je referrer kwijt?dominic schreef op 05 december 2003 @ 09:07:
document.location.replace of document.location.href = ''zorgt altijd voor vervanging van het huidige document..
Probeer eens window.open("/url", "_self");
Op deze manier wordt er ook netjes een entry in de history aangemaakt.
Je zou die referrer kunnen opslaan en meegeven als parameter.
Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.
Bij een window.open wordt een entry in de history aangemaakt, en als referrer staat op de server de vorige pagina bekend. (Anchors maken ook gebruik van window.open intern volgens mij)BtM909 schreef op 05 december 2003 @ 09:18:
[...]
Dan ben je toch alsnog je referrer kwijt?
Je zou die referrer kunnen opslaan en meegeven als parameter.
Ik betwijfel echter of TS nu meer belang hecht aan de referrer of aan de history entry.
Verwijderd
JavaScript:
1
2
3
| var sURL = 'http://www.google.com'; var iTime = 3; document.write('<meta http-equiv="refresh" value="'+iTime+';'+sURL+'">'); |
Zoiets? Niet getest maar zou kunnen werken.
window.open("/url", "_self");
--> nog altijd verkeerde info over mijn referer, m.a.w. de TS moet de referer hebben, niet de history
Je zou die referrer kunnen opslaan en meegeven als parameter.
--> dat is inderdaad een optie, niet de meest propere maar precies tot nu toe wel de best werkende
meta http-equiv="refresh"
--> kvind die meta tags om te refreshen niet echt de oplossing, kheb altijd het gevoel dat er een "amateuristische" vertraging op zit, ik kan er niet aan doen...
--> nog altijd verkeerde info over mijn referer, m.a.w. de TS moet de referer hebben, niet de history
Je zou die referrer kunnen opslaan en meegeven als parameter.
--> dat is inderdaad een optie, niet de meest propere maar precies tot nu toe wel de best werkende
meta http-equiv="refresh"
--> kvind die meta tags om te refreshen niet echt de oplossing, kheb altijd het gevoel dat er een "amateuristische" vertraging op zit, ik kan er niet aan doen...
[ Voor 13% gewijzigd door codemann op 05-12-2003 09:51 ]
Da's toch gek, want je kunt voor de refresh ook gewoon een vertraging van 0 opgeven.codemann:
meta http-equiv="refresh"
--> kvind die meta tags om te refreshen niet echt de oplossing, kheb altijd het gevoel dat er een "amateuristische" vertraging op zit, ik kan er niet aan doen...
Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz
Als we toch smerige oplossingen aan het bedenken zijn; maak een hidden form en submit die gewoon naar URL waar je naar toe wilt. Dan heb je gewoon je referer en alles
.
Hmm ik ben wegens omstandigheden verplicht om alles inline te doen en bovendien in ASP. Echt leuk hoor, het is een echte soep aan het worden nu.
sJS = "if (document.getElementById(\'login\').value == \'\') alert(\'Vul uw e-mailadres hierboven in en klik nogmaals.\'); else var sURL = \'passwordlost.asp?email=\' + document.getElementById(\'identifyform\').login.value; document.write(\'<meta http-equiv="refresh">\');"
Op die dubbele quotes in de <meta> tag gaat ie natuurlijk fout... Weet iemand hoe dit op te lossen?
sJS = "if (document.getElementById(\'login\').value == \'\') alert(\'Vul uw e-mailadres hierboven in en klik nogmaals.\'); else var sURL = \'passwordlost.asp?email=\' + document.getElementById(\'identifyform\').login.value; document.write(\'<meta http-equiv="refresh">\');"
Op die dubbele quotes in de <meta> tag gaat ie natuurlijk fout... Weet iemand hoe dit op te lossen?
Ik zit in een form daar. Dat was mijn origineel "plan" ook om gewoon de action van dat form met javascript aan te passen en dan maar submit()McVirusS schreef op 05 december 2003 @ 10:29:
Als we toch smerige oplossingen aan het bedenken zijn; maak een hidden form en submit die gewoon naar URL waar je naar toe wilt. Dan heb je gewoon je referer en alles.
Nog eens even geprobeerd :
document.getElementById(\'identifyform\').action = \'passwordlost.asp\';
dit geeft : object doesn't support this property or method
[ Voor 23% gewijzigd door codemann op 05-12-2003 10:35 ]
En waarom heb je dat niet gedaan?codemann schreef op 05 december 2003 @ 10:31:
Ik zit in een form daar. Dat was mijn origineel "plan" ook om gewoon de action van dat form met javascript aan te passen en dan maar submit()
Zoals ik reeds zei :
Nog eens even geprobeerd :
document.getElementById(\'identifyform\').action = \'passwordlost.asp\';
-> dit geeft : object doesn't support this property or method
Probeer eens
JavaScript:
1
| document.forms['identifyform'].action = 'passwordlost.asp'; document.forms['identifyform'].submit(); |
Zelfde error, zoals ik verwacht had... Hij vindt de form wel (anders zou ie er ook een fout op geven), maar het probleem zit hem ergens anders denk ik...McVirusS schreef op 05 december 2003 @ 11:02:
Probeer eens
JavaScript:
1 document.forms['identifyform'].action = 'passwordlost.asp'; document.forms['identifyform'].submit();
Pff ingewikkeld om allemaal uit te leggen maar laten we zeggen dat ik met javascript een include van een ASP script op een andere server doe om op deze manier een systeem op poten te zetten waarbij andere personen/resellers gebruik kunnen maken van je "systeem".
Dit javascript waar ik het hier over heb zit op die andere server en wordt dus zo aangeroepen, en ik denk dat het daar ergens verkeerd moet gaan... .action is toch een geldige property van een form dus dat kan de fout niet zijn.
Nuja ik wou m'n password recovery te mooi doen denk ik, het lijkt me meer en meer onmogelijk...
Er is een andere manier om het te doen laten we het dan zo maar doen. Iets minder mooie oplossing maar het gaat even goed werken.
[ Voor 6% gewijzigd door codemann op 05-12-2003 11:19 ]
Ik denk dat je dan tegen security problemen aanloopt ivm het sandbox model. Maar ik vraag me af wat je met de referrer wilt doen. Er zijn namelijk clients die zo ingesteld staan (dmv externe software als Norton Internet Security) dat ze ueberhaupt geen referrer meegeven, of een bogus string als referrer. Je zou in geen geval daarvan je applicatie afhankelijk moeten maken naar mijn mening.
btw, document.location is deprecated en voudt; gebruik altijd window.location zoals het hoort
btw, dit geeft ook een referrer mee (hoewel ik niet weet of het al in de huidige mozilla en Opera werkt):
een form is safer.
btw, document.location is deprecated en voudt; gebruik altijd window.location zoals het hoort
btw, dit geeft ook een referrer mee (hoewel ik niet weet of het al in de huidige mozilla en Opera werkt):
HTML:
1
2
3
4
| <a href="blaat.asp" id="neplink">neplink</a> <script type="text/javascript"> document.getElementById('neplink').click(); </script> |
een form is safer.
[ Voor 25% gewijzigd door crisp op 05-12-2003 17:20 ]
Intentionally left blank
Pagina: 1