J'essaie d'exécuter jQuery et WebMethods avec ASP.NET; J'ai ajouté un ScriptManager à la page principale et un contenu sur la page de contenu.
<asp:Content ID="ch" ContentPlaceHolderID="cHead" runat="server">
<script language="javascript" type="text/javascript">
$(document).ready(function () {
alert("hi");
});
</script>
</asp:Content>
Cependant cela ne se déclenche jamais, qu'est-ce qui me manque?
Vérifiez les étapes suivantes.
Ces choses devraient résoudre le problème
Une possibilité lorsque ready
cesse de fonctionner est que vous ayez un code javascript qui lève une exception dans un appel $(document).ready(...)
ou $(...)
, ce qui arrête le traitement du reste des blocs ready
. Identifiez une seule page sur laquelle cela se produit et examinez-la à la recherche d'erreurs éventuelles ailleurs.
Au lieu d'utiliser ceci:
$(document).ready(function() { /* your code */ });
Utilisez ceci:
jQuery(function($) { /* your code */ })(jQuery);
Il est plus concis et fait la même chose, il ne dépend pas non plus de la variable $
pour être l'objet jQuery.
Cela se produira si la page Host est HTTPS et si le chemin source javascript inclus est HTTP. Les deux protocoles doivent être identiques, HTTPS. Le signe de la fin serait de vérifier sous Firebug et de noter que le JS se voit "refuser l'accès".
function pageLoad() { console.log('pageLoad'); $(document).ready(function () { alert("hi"); }); };
c'est le scriptManager ajax rendant le problème utiliser pageLoad () à la place
J'avais copié ma variable js
en ligne à partir d'un autre projet .php
; à l'intérieur de ce bloc de code, il y avait du code php
générant une valeur. Désormais, la variable n'étant pas définie dans mon nouveau fichier, elle produisait la variable typique php
undefined warning/error
de ce que le code js
était foiré, et ne répondait à aucun événement, même alert("xyz");
échouerait en silence !! Bien que la ligne erronée soit bien proche de la fin du fichier, la variable js
mourrait aussi,
sans aucune erreur !!! > :(
Une chose qui confond maintenant est que la console/sortie du débogueur ne donnait aucun indice/erreur/avertissement, la js
mourait en silence.
Essayez donc de vérifier si vous avez php
en ligne codé avec js
et voyez si elle génère une erreur. Une fois retiré/trié, votre js
devrait bien fonctionner.
Une possibilité, jetez un oeil:
<script language="javascript" type="text/javascript" src="./jquery-3.1.1.slim.min.js" />
contre
<script language="javascript" type="text/javascript" src="./jquery-3.1.1.slim.min.js"></script>
La première méthode est en fait erronée, mais le navigateur ne se plaint pas du tout. Vous devez être sûr que vous fermez correctement la balise JavaScript.