7
votes

jquery mobile: paramètres de fourniture dans l'URL de hachage?

Je travaille à JQuery Mobile, ce qui est génial. J'ai une question sur la fourniture de paramètres à l'intérieur de la partie Hash d'une URL.

Voici un exemple de code. Dans la partie partie de la page d'accueil, j'aimerais pouvoir créer un lien vers une page appelée E.G. '# Photo-123' et avez-vous de charger la page "Photo" ci-dessous. J'extraînerais ensuite le numéro de la photo de l'URL et charger l'image 123. xxx

ceci est afin que je puisse réutiliser l'URL, c'est-à-dire que l'utilisateur peut recharger la page directement.

est-il possible de passer des paramètres à l'intérieur d'une URL de hachage avec JQuery Mobile? (ou en effet avec HTML en général - je sais que c'est possible avec par exemple, le plug-in BBQ, mais je préfère éviter les plugins si possible)


2 commentaires

Au fait, cette partie de l'URL est le "fragment".


Je ne sais pas si vous recherchez toujours une solution à cela, mais j'ai créé un Plug-in < / a> pour cela.


5 Réponses :


0
votes

2 commentaires

Ainsi, l'utilisation d'obtenir des paramètres est la seule façon? rien d'intelligent que je puisse faire avec des hachages?


pas que je sache encore, il peut y avoir de nouveaux trucs une fois un rc i sorti



0
votes

Vous pouvez faire quelque chose comme ceci:

<script type="text/javascript">
    $.mobile.hashListeningEnabled = false;
</script>

$('#photo').ready(function () {
    var photoId = window.location.hash.replace("#photo", "");
    $("#myphoto").attr("src", "http://dummyimage.com/600x400/000/" + photoId);
    $.mobile.changePage("#photo");
});


0 commentaires

3
votes

Vous pouvez utiliser des crochets d'événement globaux et des étiquettes de données pour traiter et stocker des paramètres pour internes (c'est-à-dire entre #blah -> # blah2) transitions:

  1. dans votre HTML, vous pouvez aller p>

    .... a> p> l> li>

  2. intercepter les clics sur tous les liens et recherchez un élément de données spécifique, disons, paramètres de données: p>

    $('a').live('click',
        function(e) {
            params = $(e.target).jqmData("params")
        }
    )
    


1 commentaires

Merci. Cela ne fonctionne pas pour moi parce que je veux être capable de marquer le lien, j'ai donc besoin de paramètres dans l'URL.



1
votes

Si vous pouvez structurer vos hashes comme #photo? id = 123, quelque chose comme ça peut fonctionner: xxx

et pour attraper des liens directs: xxx < / pré>


0 commentaires