Je construis un site à l'aide de ASP.NET MVC et j'ai des vues partielles qui utilisent JQuery pour faire diverses choses. Je pensais à passer à l'API Ajax de Google et à utiliser leur chargeur pour charger JQuery. Cependant, j'ai remarqué que je ne serais plus en mesure d'utiliser C'est un peu un problème pour moi parce que j'ai Puis-je spécifier plusieurs rappels et simplement échanger le serait-ce le moyen idéal de gérer cette situation ou y a-t-il quelque chose d'autre qui est préféré? P> $ (document) .Readady () code> plus parce que le chargeur de Google spécifie un rappel Google.setonLoadCallback () code>. p>
$ (document) .Ready () code> dans diverses vues partielles parce qu'ils font des choses différentes spécifiques à elles-mêmes que je ne veux pas que je ne veux pas la vue parent à prendre conscience de. p>
$ (document) .Ready () code> S avec google.setonloadCallback (someuniquecallbackfunction) code>? P>
3 Réponses :
On peut manquer le point ici, mais il n'y a pas de choc entre votre USERCONTROLS $ (document) .Ready et Google.setonLoadCallback que je connais. P>
En supposant que vous utilisiez Google pour charger jQuery, votre code dans le document $ (document) .Ready ne fonctionnera pas avant que Google ait chargé JQuery. P>
Tant que JQuery est chargé dans votre MasterPage, je ne sais pas quel est le problème. P>
Je vais essayer cela et voir si cela fonctionne. J'ai essayé d'utiliser le SetonloadCallback et $ (document) .Ready dans le même fichier HTML sur le terrain de jeu de Google API et cela n'aimait pas cela. Peut-être que je vais bien avec les contrôles des utilisateurs, cependant!
Cela semble fonctionner bien. J'ai un fichier maître qui utilise google.load (jQuery) puis plus tard dans une vue, j'utilise $ (document) .Ready et ça marche bien!
Oui, vous pouvez utiliser setonloadCallback code> au lieu de $ (document) .Ready code>. Il existe un deuxième paramètre non documenté (ou au moins, je ne peux pas le trouver) qui spécifie quand appeler la fonction de rappel; Les valeurs possibles sont "FALSE" (par défaut) - sur la charge de la fenêtre ou "vrai" - sur la charge DOM (DomContentOached). L'événement DOM incendie une fois que tout le marquage a chargé (beaucoup plus tôt que la fenêtre.Load). Les feux d'événement de la fenêtre de la fenêtre après toutes les images et scripts et telles ont fini de chargement. // Very similar to $(window).load()
// Same as google.setOnLoadCallback( OnLoad, false );
google.setOnLoadCallback( OnLoad );
C'est ce qui m'a aidé. J'aimerais que cela soit mieux documenté.
Vous venez de faire ma journée.
Il est maintenant documenté que setonLoadCallback code> peut être appelé plusieurs fois.
J'ai couru dans le même problème. J'ai Googled avoir 2 recherches Google en cours d'exécution sur une page, etc ...
À la fin, j'ai trouvé cela et je voulais avoir 2 panneaux indiquant essentiellement des résultats de recherche Google sur une page. P>
google.setOnLoadCallback(LoadGoogleNewsResults); google.setOnLoadCallback(LoadGoogleNewsResultsForum);
Pour ces vues partielles, vous les rendant avec la page ou de manière dynamique (par exemple, via une onglet Ajax)?
Dans une page régulière. Je n'utilise pas Ajax à ce stade.