Domanda

Ho un sito Web che utilizza il Plug -in addizionale jQuery da asual per la navigazione.

Il problema che sto riscontrando è che usando IE6 e IE7, quando l'utente utilizza i pulsanti back/in avanti, il sito Web finisce in una pagina inaspettata.

Ecco una versione ridotta di quello che sto facendo in questo momento.

$.address.init(function(event) {
    defaultPage = "1";
}).change(function(event) {
    $("#content").html('<div><img src="/images/activity indicator.gif"></div>')
    $("#content").load("./pages/"+names+".html", function(){
    var names = $.map(event.pathNames, function(n) {
        return n.substr(0, 1).toUpperCase() + n.substr(1);
    }).concat(event.parameters.id ? event.parameters.id.split('.') : []);
        pageScripts[names]();
    });
});

Se sono a pagina /, vai a #/1, vai a #/2, quindi GOTO PAGINE #/3, Sono a pagina #/3, nessun problema con tutto ciò. Quando colpisco "Back" in ie6 o ie7 (Chrome, ff, ie8, ie9 funzionano tutti bene) quando a pagina #/3, Vengo mandato fino a Page /. Facendo clic in avanti, spostami su Page /#3.

Salta sulla storia dalle schede hash.

in ogni caso, il Esempio dal sito Web Funziona bene con ie6/ie7. Non riesco a trovare le differenze funzionali tra ciò che ho fatto e ciò che sta facendo.

È stato utile?

Soluzione

È necessario utilizzare l'attributo rel.

<a href="/deep-link" rel="address:/deep-link">Deep link</a>

IE6/IE7 sembrano rispettare l'uso di questo per quella funzionalità.

Questo ha effetti collaterali (ad esempio, ogni collegamento con Rel ha un gestore di eventi su di esso ora), che può o meno influire sulla tua implementazione specifica.

Nota: accetterò una risposta con più cure e spiegazioni messe in esso se vuoi davvero rispondere a questa domanda.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top