2010-04-10 9 views
1

J'essaie de créer un lien à partir d'un site externe qui arrive à un panneau interne particulier sur un site JQTouch que je suis en train de construire. Cependant, le navigateur ouvre toujours le panneau d'accueil du site JQT, quel que soit le tag d'ancrage que j'utilise dans le lien.Liaison à un site non-résidentiel sur le site JQTouch

par exemple. Si j'essaie de créer un lien vers le panneau de l'interface utilisateur dans la démo JQTouch officielle, j'utilise http://www.jqtouch.com/preview/demos/main/#ui mais le panneau d'accueil s'affiche dans le navigateur et non le sous-panneau que j'ai demandé.

Toutes les suggestions seraient les bienvenues. J'ai le contrôle à la fois des sites liés et de liaison, donc le code de tweak est nécessaire.

Merci

Répondre

2

Selon le code source (http://code.google.com/p/jqtouch/source/browse/trunk/jqtouch/jqtouch.js) - jQTouch se charge quelle que soit la partie de votre première page a la classe current ajouté.

Ligne 179 de jqtouch.js:

// Make sure exactly one child of body has "current" class 
if ($('#jqt > .current').length == 0) { 
    currentPage = $('#jqt > *:first'); 
} else { 
    currentPage = $('#jqt > .current:first'); 
    $('#jqt > .current').removeClass('current'); 
} 

// Go to the top of the "current" page 
$(currentPage).addClass('current'); 
location.hash = '#' + $(currentPage).attr('id'); 
addPageToHistory(currentPage); 

Donc, la meilleure chose à faire pourrait être de vérifier votre window.location.hash variables avant vous exécutez la source jQTouch, et définir qui jamais hachage est là pour la current classe.

Quelque chose le long des lignes de cette heuristique:

<script include jquery> 
<script> 
var cur = document.location.hash; 
if (cur) { 
    $('.current').removeClass('current'); 
    $(cur).addClass('current'); 
} 
</script> 
<script include jqtouch>