PHP включить веб-страницу, содержащую некоторые JS в DIV
Я хочу включить в мою веб-страницу еще одну веб-страницу. Я знаю, как это сделать.
<html>
<head>
<br>
<some links to external scripts...><br>
<br>
</head><br>
<body onload='$("#divkat").load("page1.php");'><br>
<div><br>
<br>
<br>
<div class="sidebar"><br>
<h3>category :</h3><br>
<a onclick='$("#divkat").load("page1.php");'>page1</a><br>
<a onclick='$("#divkat").load("page2.php");'>page2</a><br>
<a onclick='$("#divkat").load("page3.php");'>page3</a><br>
<a onclick='$("#divkat").load("page2.php");'>page4</a><br>
</div><br>
<br>
<br>
<div id="divkat"><br>< /div><br>
< ! - - < ?php include( 'page1.php' ); ?> - - ><br>
< /div><br>
< /div>
<br>
<br>
<br>
</body><br>
</html>
работает нормально
проблема в том, что "page1.php" содержит несколько shadowbox (лайтбокс). как это:
<br>
< /div><br>
< div style="height:180px;width:180px;float:left;margin-top:15px;margin-left:15px;"><br>
< a href="img/panorama-split.jpg" rel="shadowbox; height=500; width=960"><br>< img src="img/tumb-kastel.jpg" alt="Klematis" width="180" height="180" />< /a><br>
< div>
главная страница не будет запускать JS. Если я открою "pag1.php", он будет работать нормально.
Я хочу создать веб-галерею (главную страницу, содержащую категории), когда я нажимаю на категорию, функция php включает страницу, содержащую элементы, которые открываются в shadowbox. Одно из решений состоит в том, чтобы иметь много страниц в виде категорий, но это не пиратское. Чтобы добавить новую категорию, вы должны отредактировать их все. Когда-нибудь, возможно, я запрограммирую интерфейс администратора для простого добавления новых категорий, изображений и других медиафайлов со ссылками и миниатюрами. Ofcorse с возможностью удаления и резервного копирования.
Спасибо
1 ответ
Одна из проблем, с которыми вы столкнулись, заключается в том, что вы используете комментарии HTML:
< ! - -
Это означает, что когда PHP включает HTML в page1.php
это будет фактически закомментировано. Попробуйте просто:
< ?php include( 'page1.php' ); ?><br/>
Вместо.
Что касается остальных, может быть, мы можем получить некоторые разъяснения. Page1.php
не содержит JS, так как он может запускать JS в обычном режиме при его непосредственном открытии? Может быть, вы можете объяснить, что не работает нормально?
редактировать
У меня такое ощущение, что вы имеете в виду тело onLoad
в вашем вопросе. Если так, то я всегда находил JQuery немного странным, когда помещал его непосредственно в HTML. Вместо этого вы можете попробовать запустить JQuery после загрузки самого DOM, поместив его в свой head
тег:
<script type="text/javascript">
$(function(){
$("#divkat").load("page1.php");
});
</script>
И замените тег body на:
<body>
Также для гиперссылок вы могли бы захотеть использовать события JQuery, используя функцию on()
: http://api.jquery.com/on/