2009-12-31 5 views
1

Mise à jour: Cette question a été résolu, donc le buggy comportement Firefox n'apparaîtra plus lors du chargement de mon exemple pageaccent JQuery() sur les ancres appliqué jQuery fonctionne dans Chrome et IE, pas Firefox

Ma page web a de très longs passages de texte, donc je veux faire de chaque paragraphe son propre permalien. Pour ce faire, j'utilise jQuery pour ajouter une ancre et un lien vers chaque paragraphe après le chargement de la page. Cela a fonctionné parfaitement dans Chrome. Pour que cela fonctionne dans IE, j'ai ajouté une fonction explicite jQuery focus() après avoir appliqué les ancres. Toutefois, cela ne fonctionne pas dans Firefox si je charge la page pour la première fois ou l'actualise (par exemple http://www.readsherlock.com/study.php#p4). Le javascript pertinent est collé ci-dessous.

$(document).ready(function() { 
    var i = 1; 
    $("#text p").each(function(i){ 
     $(this).html('<a name="p' + i + '" href="#p' + i++ + '">' + $(this).html() + '</a>'); 
    }); 
    if(location.hash != '') 
     $(location.hash).focus(); 
    }); 

Merci!

+0

Fonctionne bien pour moi dans Firefox. 3.5.7, sur Snow Leopard. Ou, je pense que oui. C'est censé sauter au paragraphe associé, n'est-ce pas? –

+0

FYI, Firefox 3.0.16 sur Ubuntu ne fonctionne pas en cliquant sur le lien ou en appuyant sur F5 une fois là. Si je clique simplement sur l'url et que j'appuie sur Entrée, ça fonctionne (ça sonne comme si l'OP voyait aussi). –

Répondre

0

Cela fonctionne pour moi dans Firefox 3.0.16

$(document).ready(function() { 
    var i = 1; 
    $("#text p").each(function(i){ 
     $(this).html('<a name="p' + i + '" href="#p' + i++ + '">' + $(this).html() + '</a>'); 
    }); 
    if(location.hash != '') 
     location.hash = location.hash; 
}); 

Je n'ai pas vérifié les autres navigateurs de sorte que vous beaucoup ont besoin de faire à la fois la mise au point et la remise à zéro pour déclencher tous les navigateurs.

+0

Merci cela a fonctionné! Parfois, la réponse la plus simple est la meilleure. –

Questions connexes