Comment charger la page de façon synchrone à l'aide de jQuery
Actuellement, je suis en utilisant jQuery pour choisir ce que ma page d'index doit charger en fonction de savoir si un cookie est créé.
Par exemple, la balise body de la index.html doit charger hasCookie.html si le cookie est créé et noCookieSet.html si aucun cookie est créé.
Ma page d'index a actuellement:
load user scripts
load styling scripts
<html><body></body></html>
Le script utilisateur a le code qui vérifie si le cookie est créé. Si elle l'est, j'utilise jQuery load pour charger le contenu dans le corps:
$(document.body).load('hasCookie.html')
Cependant, puisque c'est exécutée de manière asynchrone, le style des scripts chargés avant la balise body a été mis à jour, d'où le corps n'est pas de style.
Est-il un moyen d'avoir un synchrone de la charge, ou devrais-je suis en approche de ce dans le mauvais sens?
EDIT: si ça aide, le style scripts sont essentiellement jQueryUI
.load()
pour l'exécution de votre style de fonctions...OriginalL'auteur Karan | 2011-03-19
Vous devez vous connecter pour publier un commentaire.
Dans votre cas, cela sonne comme il serait vraiment préférable de mettre en œuvre côté serveur si possible. En PHP, il serait simple de détecter si le cookie est défini dans $_COOKIE tableau et de la transmission de la bonne page.
OriginalL'auteur ctcherry
Autant que je sache, JQuery charge ne peut pas être synchrone.
Vous pouvez hec autour de ce avec fonction de rappel.
OriginalL'auteur Peter Olson
Vous pouvez le formulaire comme une requête AJAX et de remplir votre page avec la réponse. Définir la async option à false. Cette SORTE de réponse plus: Comment puis-je obtenir jQuery pour effectuer une synchrone, plutôt que asynchrone, requête Ajax?
OriginalL'auteur jn_pdx
Il suffit de changer le document.emplacement.href de l'url de la page.
Ce que vous êtes en train de faire est de charger du contenu avec l'ajax et de la placer à l'intérieur du corps de la page. Vous devrez faire cela si vous ne voulez pas de ressources déclarées dans la tête pour avoir demandé. Mais il n'y a pas de point que, puisque vous pouvez le faire avec la mise en cache.
OriginalL'auteur Vasil
Essayer
Cela va retarder le chargement jusqu'à ce que après tout le reste est déjà là.
OriginalL'auteur Jacob
C'est comment je le fais.
Vous pouvez joindre le Style et le Javascript sur rappel de la Fonction Ajax.
Cela permet à tout pour être chargé notamment de styles et de javascript, étant donné que le nom du script et css nom de fichier sont les mêmes.
OriginalL'auteur Bodman