Toon posts:

[HTML/Javascript] Geen history

Pagina: 1
Acties:

Verwijderd

Topicstarter
L.S.

Mijn site moet uiteindelijk zo worden dat hij maar 1 link achterlaat in de history aan de
client-side. Nu weet ik dat je met javascript location.replace() een heel eind kan komen.
Echter dat betekend dat ik iedere link in mijn site uit een javascriptje moet laten bestaan.

Ik heb al gezocht naar andere oplossingen, alleen heb ik die nog niet gevonden. Wel heb ik ontdekt dat ABN Amro internetbankieren geen history achter laat.

Als ik mijn bankzaken heb geregeld en start daarna een nieuwe browser op en ga in mijn history graven, is deze van de ABN niet aanwezig (alleen de link naar de homepage).
In de broncode zie ik dat men daar gewoon met doodnormale links (<a href....) werkt.

Heeft iemand hier een verklaring voor? Of wel...... dit wil ik dus ook!

Alvast bedankt.

Groeten Rick.

ps. er bestaat nog een site die geen history achter laat en met "gewone" links werkt. Dus de ABN site is niet de enige.

  • Suepahfly
  • Registratie: Juni 2001
  • Laatst online: 21-04 16:00
ga eens zoeken naar 'copyhistory=no' of iets dergelijks.

Dit hoor trouwens thuis in w&g

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:50

crisp

Devver

Pixelated

Dat de ABN geen history achterlaat zit 'm waarschijnlijk in het feit dat het een secure connection is (HTTPS).

Intentionally left blank


Verwijderd

Topicstarter
crisp schreef op zaterdag 04 december 2004 @ 11:14:
Dat de ABN geen history achterlaat zit 'm waarschijnlijk in het feit dat het een secure connection is (HTTPS).
Nee, dat zou betekenen dat het bij mij opgelost zou zijn, mijn site loopt namelijk ook via SSL. Helaas laat hij bij mij gewoon history achter.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 07-05 22:49

curry684

left part of the evil twins

* curry684 poot over de schutting naar /13 :)

Professionele website nodig?


  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 23:48

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Suepahfly schreef op zaterdag 04 december 2004 @ 10:58:
ga eens zoeken naar 'copyhistory=no' of iets dergelijks.

Dit hoor trouwens thuis in w&g
* Thijsmans dacht dat copyhistory=no een eigenschap is die je aan een popup meegeeft. Dan neemt de popup niet de history van de opener over. Dat is echter heel wat anders dan de history geheel niet opslaan!

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


  • b19a
  • Registratie: September 2002
  • Niet online
je zou een javascript functie de linkjes kunnen laten vervangen, dan werk je dus gewoon met <a href="" die door javascript worden omgezet naar <a href="javascript:location.replace(...

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 23:48

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Uhuh, dat is wel aardig bedacht :) Als de browser geen javascript ondersteunt, gebeurt er niets fouts, behalve dat de history wel wordt achtergelaten :)

JavaScript:
1
2
3
4
5
for( i = 0;  i < document.links.length;  i++ )
{
    link = document.links[ i ];
    link.href = 'javascript: document.location.replace("' + link.href + '");';
}


Zoiets zou moeten werken :)

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


Verwijderd

Topicstarter
Prammenhanger: misschien een domme vraag maar..... wat doet je script precies?

<zelf nadenkend> Dit zet alle normale <a href.... in je document om in
javascript: location.replace, wat dus betekend dat je gewoon "normale" links kan blijven gebruiken.... en die daarna worden omgezet naar location.replace, zodat er geen history achter blijft ...
</zelf nadenkend>

Of zit ik er helemaal naast?

Alvast bedankt voor je uitleg btw.

Verwijderd

Topicstarter
Toen ik mijn vorige bericht postte had ik even geen tijd om het meteen uit te proberen.
Dat heb ik nu dus wel gehad, en het werkt. Bedankt.

Alleen zit ik nu nog met formulieren....

Ik verstuur mijn formulier met javascript:document.formname.submit(), met een action in de <form> tag. Deze action is meestal hetzelfde document als waar het form in staat.

Om een lang verhaal kort te houden: hij laat dus alleen nog een history achter als er een formulier wordt verstuurd.

Is dit ook nog af te vangen :?

  • sjhgvr
  • Registratie: Januari 2004
  • Laatst online: 02-05 22:02
Met GET ?
Submit button > Onclick > Gegevens uit velden uitlezen en in location.replace url duwen ?

oisd.nl


Verwijderd

Topicstarter
Dat kan ook nog inderdaad. Ga ik daar maar eens mee aan de gang.

Als er een "simpeler" oplossing is, dan hoor ik dat graag. Ik werk namelijk met nogal wat forms en het is niet echt een hobby van me..... javascript.

Verwijderd

Topicstarter
Zoals je kon lezen ben ik dus aan de gang gegaan. Ik heb het volgende script in elkaar gezet om er voor te zorgen dat ik mijn formulier kan versturen en toch geen history achter laat.


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<script language="JavaScript">
<!--
function SubmitForm() {

var v1 = document.forms['edit_user'].elements['oldUser'].value;

    if (document.edit_user.w_user.checked) {
        var v2 = document.forms['edit_user'].elements['w_user'].value;
    } else {
        var v2 = '0';
    }
    if (document.edit_user.w_pwd.checked) {
        var v3 = document.forms['edit_user'].elements['w_pwd'].value;
    } else {
        var v3 = '0';
    }
    if (document.edit_user.w_groep.checked) {
        var v4 = document.forms['edit_user'].elements['w_groep'].value;
    } else {
        var v4 = '0';
    }

var v5 = document.forms['edit_user'].elements['newUser'].value;
var v6 = document.forms['edit_user'].elements['newPwd'].value;
var v7 = document.forms['edit_user'].elements['newPwdH'].value;
var v8 = document.forms['edit_user'].elements['newGroup'].value;
var v9 = document.forms['edit_user'].elements['send'].value;

document.location.replace("wijzigen_gebruiker.php?oldUser=" + v1 + "&w_user=" + v2 + "&w_pwd=" + v3 + "&w_groep=" + v4 + "&newUser=" + v5 + "&newPwd=" + v6 + "&newPwdH=" + v7 + "&newGroup=" + v8 + "&send=" + v9 + "");
}
//-->
</script>

Tot mijn verbazing 8)7 werkt alles, alleen is de code niet echt gebruiksvriendelijk.

Dit script staat nu op 1 pagina met op die pagina natuurlijk een paar specifieke checkboxen en textvakken. Graag zou ik dit script zo variabel mogelijk willen hebben zodat ik het in een *.js kan zetten en voor meerder pagina's kan gebruiken.

Kan iemand mij een schop in de goede richting geven? Ik heb niet echt een idee hoe ik dit aan moet pakken. Ben helaas geen held in javascript.

Alvast bedankt.

Verwijderd

Topicstarter
Voor degene die het nog willen weten.... :O hieronder mijn eigen geschreven javascript om een formulier te versturen zonder history achter te laten. :Z

Zoals ik al zei ben ik geen javascript die-hard, dus er zal vast wel wat op aan te merken zijn aan mijn script, maar hij werkt als een tiet. Commentaar voor beter scripten in javascript is voor mij natuurlijk nooit weg. :P

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
function SubmitForm(FormName, Page) {

    var link = Page;
    link += '?';

    for (var i=0;i<document.forms[FormName].length;++i) {
        if (document.forms[FormName].elements[i].type == 'checkbox') {
            if (document.forms[FormName].elements[i].checked) {
                link += document.forms[FormName].elements[i].name; 
                link += '=';
                link += document.forms[FormName].elements[i].value;
                link += '&';
            }
        } 
        if (document.forms[FormName].elements[i].type == 'text') {
            if (document.forms[FormName].elements[i].value != '') {
                link += document.forms[FormName].elements[i].name;
                link += '=';
                link += document.forms[FormName].elements[i].value;
                link += '&';
            }
        } 
        if (document.forms[FormName].elements[i].length > 0) {
            for (var s=0;s<document.forms[FormName].elements[i].length;++s) {
                if (document.forms[FormName].elements[i].options[s].selected == true) {
                    link += document.forms[FormName].elements[i].name;
                    link += '=';
                    link += document.forms[FormName].elements[i].options[s].value;
                    link += '&';
                }
            }
        }
    } 
    
    link += 'send=1';
    
    document.location.replace(link);    
}


Het form submitten doe ik dan dus met:
<a href="javascript:SubmitForm('naam_form', 'pagina.php');"><img........</a>
...een mooi plaatje of een button, dat kan natuurlijk ook.

En zo zie je maar weer............. als je het zelf doet leer je het meest. Bedankt ;)
Pagina: 1