jQuery Modals und Deep Linking
Ich habe derzeit eine Galerie, die ein modales Popup öffnet, wenn Sie auf die Miniaturansicht klicken. Was ich tun möchte, ist, in der Lage zu sein, einen eindeutigen Link speziell für das Modal (d. H. Www.mywebite.com/#link1) zu generieren, der seinen Inhalt über Ajax lädt. Wenn jemand diesen eindeutigen modalen Link senden und an jemanden senden und ihn in seinen Browser einfügen soll, möchte ich, dass das modale Fenster seinen Inhalt automatisch lädt und anzeigt, ohne dass der Benutzer auf das entsprechende Miniaturbild klicken muss.
Ist das überhaupt möglich? Ich weiß, dass dies nicht die einfachste Aufgabe ist und jede Hilfe wäre sehr dankbar.
Um eine Vorstellung davon zu bekommen, woran ich gerade arbeite, gehen Sie zu:http://www.ddbremedy.co.uk/siteupdate/work
Sie sehen einen iMac-Bildschirm mit den Miniaturansichten.
Vielen Dank im Voraus.
AKTUALISIEREN!!!!!
Ok, hier bin ich gerade. Ich habe mich dazu entschlossen, mit jquery address zu scrappen und verlinke stattdessen mit 'window.location.hash'.
Code ist ungefähr so:
var base_url = "http://www.ddbremedy.co.uk/siteupdate/";
$('#work_gallery li a').on('click', function(event) {
event.preventDefault();
postLink = $(this).attr('href');
window.location.hash = postLink.replace(base_url, "");
/* I have a bunch of code that animates the modal window
in which I don't need to include as there is quite alot of it.
Content loads via ajax. Then when I close the modal I add this
code to remove the hash and revert the link back to its original state. */
if ("pushState" in history) {
history.pushState("", document.title, window.location.pathname);
} else {
window.location.hash = "";
}
});
Der obige Code funktioniert einwandfrei und zeigt den Link genau so an, wie ich es möchte, wenn ich externen Inhalt mit Ajax lade und schließe. Jetzt muss ich herausfinden, wie ich den Ajax-Inhalt automatisch laden kann, wenn jemand diesen Link nimmt und ihn in die Adressleiste einfügt. Der Inhalt wird basierend auf den Links href und einem Klickereignis geladen. Wie kann ich den Browser also dazu verleiten, anzunehmen, dass auf den richtigen Link geklickt wurde, und den richtigen Inhalt basierend auf dem Link laden?