2017-07-05 2 views
-1

Le document se charge uniquement lorsque la page est frappée directement avec son URL, cela ne fonctionne pas si la page est chargée via un lien ahref. Je sais que cela a déjà été demandé et j'ai essayé quelques petites choses et rien n'a fonctionné. La fenêtre ne soit pas aussi chargé sur l'ouverture d'une page par un liendocument.ready ne fonctionne pas sur la liaison d'une page à travers ahref

$(window).on("load", function() { 
    alert("window loaded"); 
}); 

J'ai aussi essayé pageinit, pas sûr que je l'ai utilisé mal, mais cela n'a pas fonctionné. Toute aide sera appréciée

Aussi, je suis en utilisant des rails

Mon application

<html> 
 
    <head> 
 
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/> 
 
    <title>DevPortal</title> 
 
    <%= csrf_meta_tags %> 
 
    <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> 
 
    <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> 
 
    </head> 
 
    <body> 
 
    <%= yield %> 
 
    </body> 
 
</html>

je lie ma une page à l'autre en utilisant le code suivant:

<p> 
    <a class="btn btn-secondary" href="new_page"> 
    My link 
</a> 
</p> 
+2

Ouvrez votre console, est-il dit quoi que ce soit? – Jorden1337

+1

Pouvez-vous recréer le problème en commençant par un «projet» vide? c'est à dire une simple page html, jquery et un doc prêt. Il est probable que vous ayez un autre code agissant sur l'ancre –

+1

Vos pages sont-elles chargées via Ajax? –

Répondre

0

Cela a fonctionné pour moi comme j'utilisais turbolinks

$(document).on('turbolinks:load', function() { 
    alert("It works"); 
}); 
1

Si le lien pointe vers un ID de hachage dans la même URL, il ne rechargera pas la page. Utilisez plutôt l'événement hashchange.

$(window)on("hashchange, function() { 
    alert("hash changed"); 
});