Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

Javascript setTimeout

Anoniem
Ger
1 antwoord
  • Zie hier (MODx site, wordt nog aan gewerkt).

    In de rechterkolom heb ik een inloggedeelte staan voor het forum. Als je daar ingelogd bent staat er een link om uit te loggen. Dat uitloggen moet vanzelfsprekend door het forum gebeuren, maar ik wil dat dit op de achtergrond gebeurd en vervolgens die div (rechterkolom) ververst. Dit doe ik als volgt:
    [code:1:6039a56d5b]if($user->data['is_registered']) {
    echo "Welkom " . $user->data['username'];
    echo ' (<a href="#" onClick="load(''.$phpbb_root_path .'ucp.php?mode=logout&sid='.$user->data['session_id'].'', 'none'); load('http://www.swordfactsbenelux.nl/modx/assets/site/phpbbhook.php','rechterkolom')">Uitloggen</a>)';
    }[/code:1:6039a56d5b]De load-functie die je daar ziet zorgt ervoor dat in een div een externe pagina laadt. In dit geval wordt dus in de div "none" (die CSS display:none heeft) de uitloglink gevolgd en in de div "rechterkolom" wordt opnieuw de phpbbhook geladen. Dit werkt op zich, maar omdat het uitloggen een seconde duurt, wordt de phpbbhook te snel opnieuw geladen. Hoewel je dus eigenlijk wel uitgelogd wordt, zie je dit niet. Ik wilde hier daarom een timeout aan toevoegen, zodat 1 of 2 seconden na de eerste load-opdracht pas de tweede load-opdracht uitgevoerd wordt. Ik dat dit als volgt te doen:
    [code:1:6039a56d5b]echo ' (<a href="#" onClick="load(''.$phpbb_root_path .'ucp.php?mode=logout&sid='.$user->data['session_id'].'', 'none'); setTimeout('load('http://www.swordfactsbenelux.nl/modx/assets/site/phpbbhook.php','rechterkolom')', 5000)">Uitloggen</a>)';[/code:1:6039a56d5b](even op 5000 ms gezet om zeker te zijn dat er een vertraging in zit).

    Dit heeft echter als enige effect dat die hele link niet meer werkt. Blijkbaar zit dus ergens een fout, maar ik kom er niet uit. Kan iemand de fout aanwijzen?

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.