2013-01-17 4 views
0

Est-il possible d'appeler le code JS avant le chargement d'une page (ou avant l'appel d'un autre code javascript sur la page)? Par exemple: En utilisant le contrôle webbrowser, je navigue sur "http://google.com", mais avant que tout code js sur google ne soit exécuté, j'aimerais faire quelque chose comme "alert ('un moment!');".C# Appeler JS avant le chargement de la page

Des idées sur comment je peux accomplir cela? Je suppose que je dois modifier le code html avant de le charger complètement, ajouter la fonction js, puis l'exécuter en utilisant invokescript, mais je ne sais pas comment je ferais ça.

+1

Voir ce poste [http://stackoverflow.com/questions/5642233/load-javascript-before-rendering-page][1] [1]: http : //stackoverflow.com/questions/5642233/load-javascript-before-rendering-page – keeg

Répondre

1

Ma première suggestion est d'utiliser des scripts dans la <head> tag:

<body> 
    <head> 
    <script type="text/javascript"> 
     // ... 
    </script> 

Vous pouvez utiliser jQuery:

$(document).ready(function() 
{ 
    // ... 
}); 

Ou:

window.onload = function() 
{ 
    // ... 
} 

Dans tous les cas, vous devez faire un effort particulier pour ne pas faire ce genre de choses. C'est une très mauvaise pratique, surtout si elle implique une interaction de l'utilisateur.

0

Etes-vous en train d'implémenter un écran de chargement? Je l'ai fait en forçant une publication sur le chargement de la page, en effectuant la lourde levée dans la publication, puis en masquant l'écran de chargement lorsque la publication est terminée.

0

Placez le code suivant en haut de votre page. Cela serait appelé avant même que le document entier charge

<script type="text/javascript"> 
    // add javascript code 
    alert('Page not even loaded but the javascript runs'); 
</script> 

Cela fera le nécessaire. Si vous voulez que le script soit exécuté après que l'objet DOM soit terminé et que le chargement de la page soit terminé, faites-le dans document.ready

0

Si vous utilisez le moteur C# (moteur Razor Render), vous pouvez utiliser le code suivant au-dessus de votre haut de la page

@if(true){ 
<script> 
// your script 
</script> 
} 
Questions connexes