Que puis-je mettre avant de télécharger?
Je voudrais avoir un effet d'animation qui commence lorsque les gens quittent une page.
J'utilise actuellement:
window.onbeforeunload = function (){
alert("test");
console.log("test");
sliderIntervalId = setInterval('SlideDown()',1);
}
Tandis que le "test" est en effet connecté à la console, ni la fonction slideDown ni le test d'alerte est produit...
Est-ce un comportement normal? peut-on utiliser les beforeunload fonction uniquement pour le backend?
P. S. je suis en essais sur chrome, c'est pourquoi j'ai dû utiliser onbeforeUnload je.s.o onUnLoad qui ne semble pas être pris en charge par Chrome?
source d'informationauteur jorrebor
Vous devez vous connecter pour publier un commentaire.
onbeforeunload
peut retarder la page décharger dans un seul cas: Lorsqu'unreturn
déclaration avec une valeur est retournée. Dans ce cas, l'utilisateur obtient une boîte de dialogue de confirmation, qui offre à l'utilisateur une option permettant de ne pas quitter la page.Votre résultat souhaité ne peut pas être forcé en quelque sorte. Votre animation sera exécuté jusqu'à ce que le navigateur commence à charger la page suivante:
En supposant que jQuery pour des raisons de concision:
Fondamentalement, vous n'utilisez pas
onbeforeunload
. Un avantage est que vous pouvez garder à l'utilisateur aussi longtemps que vous le souhaitez, un inconvénient est que l'utilisateur de ne pas voir une animation lors de l'utilisation d'un lien à l'extérieurnav
(mais vous pouvez simplement changer le sélecteur)Évidemment garder l'animation rapide, comme suddenlyoslo.com faire.
Jorrebor,
Si vous essayez d'avoir cette animation feu lorsqu'ils quittent votre site ou de fermer le navigateur, il ne fonctionnera pas comme prévu. Toutefois, vous pouvez créer cette animation pendant que l'utilisateur se déplace au sein de votre site en enlevant le 'href' propriété de vos liens et de créer des animations qui ont une fonction de rappel que l'ensemble de la fenêtre.emplacement de la propriété. Quelque chose comme:
beaucoup de travail et ne sera pas seo friendly cependant
Je suis en train de travailler avec onbeforeunload et Ce que j'ai pu comprendre est:
De sorte que votre code sera de travailler en tant que le gestionnaire d'événement exécute.
Cela signifie que les fonctions de minuterie ne sont pas utilisables. Ils ont juste ajouter à la file d'exécution, de sorte que tout ce qu'ils auraient faire est d'être en file d'attente après la fin de actuellement en cours d'exécution de gestionnaire, ce qui est après le dernier point dans le temps qui vous était garantie que votre code est toujours en cours d'exécution.
Donc il y a seulement une façon d'empêcher le navigateur de déchargement avant l'animation finitions:
beforeunload
gestionnaireOh, et oui, c'est un méchant hack de tous, mais j'ai été en mesure de trouver un moyen d'arrêter le navigateur de déchargement de la page, à droite?
J'aimerais avoir des commentaires avec des idées sur ce qu'il faut mettre dans la boucle.
Je prends quelques options en ligne de compte:
Des idées?