В настоящее время я кодирую галерею, которая до сих пор комбинировала AJAX и Javascript с xml-файлом для загрузки всех изображений. Теперь я пришел к забавной части, где я нажимаю на изображение, чтобы войти во внутреннюю галерею. (На первой странице они загружают одно изображение каждого сеанса, и когда одно изображение нажимается, оно продолжается до остальных изображений этого сеанса.)
Проблема, с которой я столкнулся при работе с AJAX (я уверен, что для этого тоже есть хороший хак!) Заключается в том, что когда страница перезагружается, она автоматически возвращается к индексу сеанса, поскольку изменение URL не происходит.
Что я сделал сейчас, так это поместил одну функцию javascript в один документ, в который загружается только индекс галереи. Это работает безупречно.
В другом файле я получил примерно такой же код, но вместо этого он загружает функцию, которая загружает остальные сессионные образы, но я не заставляю его работать.
Вот скрипт, который должен загружать определенные сессионные образы.
<script type="text/javascript">
window.onload = displayGallery(<?php echo $_GET['session']; ?>);
</script>
<div id="gallery">
</div>
Когда я использовал только javascript и «onload» в ссылке, это работало просто отлично, но тогда у меня возникла проблема с перезагрузкой страницы. Теперь я просто php, чтобы включить этот файл и $ _GET переменная для "displayGallery ()"
function displayGallery(sessionAtt)
Так что, пытаясь прояснить это, я все объясняю, мне нужна помощь с тем, чтобы displayGallery (sessionAtt) действительно запускалась после получения существенной переменной из URL.
Я ОЧЕНЬ свеж на Javascript. Выполнено большинство скриптов в php до сих пор.
EDIT:
Чтобы немного объяснить сайт: я создаю галерею для своего друга. Для кого-либо еще нет логина, кроме нее, и все подстраницы (Пуск, Галерея, О и т. Д.) Загружаются через php "include".
XML:
<gallery>
<session>
<sessionName>Beauty</sessionName>
<path>gallery/beauty/</path>
<item>
<file>_DSC2331.jpg</file>
<name>Picture 1</name>
</item>
<item>
<file>_DSC2339.jpg</file>
<name>Picture 2</name>
</item>
<item>
<file>_DSC2350.jpg</file>
<name>Picture 3</name>
</item>
<date>2011-08-03</date>
</session>
<session>
<sessionName>Red</sessionName>
<path>gallery/red/</path>
<item>
<file>_MG_6227-web.jpg</file>
<name>Picture 1</name>
</item>
<item>
<file>_MG_6235-web.jpg</file>
<name>Picture 2</name>
</item>
<item>
<file>_MG_6240-cropped-web.jpg</file>
<name>Picture 3</name>
</item>
<date>2011-08-03</date>
</session>
</gallery>
JS:
function displayGallery(sessionAtt)
{
var xmlDoc = loadDoc("gallery/gallery.xml");
var sessions = xmlDoc.getElementsByTagName("session");
var txt = getGallery(sessions, sessionAtt);
document.getElementById("gallery").innerHTML = txt;
}
function getGallery(sessions, sessionAtt) {
var items = null,
i = 0,
j = 0,
sessionName = "",
link = "",
img = "",
path = "",
file = "",
txt = "";
for (i = 0; i < sessions.length; i++) {
sessionName = sessions[i].getElementsByTagName("sessionName")[0].childNodes[0].nodeValue;
if(sessionName == sessionAtt)
{
items = sessions[i].getElementsByTagName("item");
path = sessions[i].getElementsByTagName("path")[0].childNodes[0].nodeValue;
for (j = 0; j < items.length; j++) {
file = items[j].getElementsByTagName("file")[0].childNodes[0].nodeValue;
link = '<a href="' + path + file + '" rel="lightbox[' + sessionName + ']" title="' + sessionName + '">';
img = '<img src="' + path + file + '" class="thumb" onclick="displayImage();" /></a>';
txt += link + img;
}
}
}
return txt;
}
Я попытался запустить сценарий с параметром sessionAtt, установленным в функции, и он работает.
window.onload = displayGallery;
Но при изменении на
window.onload = displayGallery('Red');
как вручную, так и с php ... Ничего.