2010-07-04 6 views
0

Je voudrais savoir s'il est possible de traiter le code dans une fonction javascript particulière qui est invoquée lors du chargement de la page en arrière-plan.Comment traiter la fonction javascript appelée onload en arrière-plan?

En d'autres termes, peu d'étiquettes et de zones de texte sont envoyées au navigateur par le serveur. Pendant onload, une fonction est invoquée pour les cacher immédiatement. Mais, je vois qu'en raison de son utilisation dans onload, les zones de texte sont d'abord affichées dans le navigateur avant d'être cachées (après que tout le reste sur la page ait été chargé).

Y a-t-il un moyen par lequel cela peut être évité?

Merci!

Répondre

2

Si ces éléments doivent être masqués au chargement de la page, masquez-les en appliquant un style css display: none côté serveur. Puis plus tard, quand ils doivent être affichés, utilisez javascript.

+0

Oui mais pas javascript - pas de textbox :) – Marko

+0

@Marko, le rendant visible pour les navigateurs non compatibles JS utilisant la balise

+0

Ils seraient sûrs – Marko

0

Vous devez cacher ces éléments soit avec un code JS placé juste après les

<textarea id="a"></textarea> 
<script type="text/javscript"> 
document.getElementById('a').style.display = 'hidden'; 
</script> 

... ou (généralement mieux) lorsque le DOM est prêt

document.addEventListener('DOMContentLoaded',function(){ 
    document.getElementById('a').style.display = 'hidden'; 
},false); 

Il y a un problème de compatibilité avec la seconde façon - IE ne supporte pas la méthode addEventListener et vous devez utiliser un autre code comme décrit ici: http://www.javascriptkit.com/dhtmltutors/domready.shtml

Questions connexes