![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Wolf1994 |
|
||||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
Можно ли реализовать динамическое подключение PHP+JS-скриптов на HTML-страничке? Нашёл готовый пример: http://forum.spravkaweb.ru/index.php?showtopic=466
Но ничего путного не получилось Вот код: index.php:
scripts.js:
reload.php, например:
Сколько ни пытался - не смог заставить эти скрипты работать. Единственное что выяснил - при подмене "reload.php" из "index.php" он срабатывает (IE, но не FireFox), и если после этого переписать скрипт и вызывать его из "scripts.js", то он тоже срабатывает (IE), но сразу - не работает. Я думаю - какой-то глюк с очисткой кэша в Эксплорере. О других браузерах вообще молчу. Но ведь на форуме dklab как-то работает динамическая подгрузка данных! Это сообщение отредактировал(а) Wolf1994 - 3.3.2006, 16:19 |
||||||
|
|||||||
| Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
Свойство src у тэга SCRIPT только для чтения, но IE плевать на это, вот он и разрешает его изменять, а нормальные браузеры дают пинка.
Вот здесь что-то подобное: http://forum.vingrad.ru/index.php?showtopi...st&p=660272 |
|||
|
||||
| Alx |
|
||||||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 10 Всего: 78 |
Wolf1994,
а зачем тебе вообще это нужно? какая цель? почему ты хочешь пользоваться именно подгрузкой php-сценария, а не XMLHttpRequest или dklab-овской либой? вообще, если ты хочешь подгружать php скрипт, то
это бред. тогда уж
к тому же менять src у script`а браузеры действительно не позволяют, поэтому нужно просто каждый раз при желании подгрузить php-скрипт, возвращающий JS-код, надо создавать новый элемент SCRIPT, удаляя предыдущий. почитай мою статью об этом, там есть и скриптик Cheba, который этим и занимается:
пример - http://alx.com.ru/stats/dataload/test.html |
||||||
|
|||||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
2ALx:
Большое спасибо за пример. Иду тестировать.
Об этих методах я ничего не знал. Воспользовался поиском: http://www.webmascon.com/topics/technologies/13a.asp , но это как-то слишком сложно. Твой пример мне понравился больше и, насколько я понял, у него бОльшая совместимость. С меня (+). |
|||
|
||||
| Wolf1994 |
|
||||||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
Попробовал. Возникло два вопроса. В порядке убывания важности:
1. Понял, что адрес создаваемого скрипта должен быть динамическим (rand), иначе Opera и FireFox кэшируют скрипт и больше не выполняют. НО, Эксплорер не всегда повторно выполняет скрипт даже в случае с динамическим адресом! В чём глюк? 2. Почему-то не удалось вывести из PHP-скрипта JS. Пробовал:
|
||||||||
|
|||||||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 10 Всего: 78 |
Добавлено @ 21:02 должно работать. выложи весь скрипт, плз! |
|||
|
||||
| Wolf1994 |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
scripts.js:
reload.php:
И, ещё очень беспокоит, что данный скрипт не всегда повторно срабатывает в IE6 Добавлено @ 21:37 Забыл: <script id='reload'> - с этим всё в порядке. |
||||
|
|||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
Ещё раз проверил. Под FireFox и Opera код работает идеально, а под IE глючит: PHP подключается невсегда, а если и подключается, не даёт выполнится JS.
|
|||
|
||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
Выяснил ещё интересную вещь. Под IE срабытывает приведённый вариант и "беспредельный" вариант (со сменой src), только, если после запроса PHP-скрипта в основном (вызывающем) скрипте дать alert();
Вопрос. Что это за "вуду" и можно ли alert сменить на что-нибудь менее заметное, чтобы "магия" продолжала действовать под IE? |
|||
|
||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
Точно. Под Эксплорером не хватает времени на выполнение скрипта - в результате одной ошибки это подтвердилось...
Нашёл наиболее приемлемым использовать iframe. Полоса загрузки - это даже плюс - посетитель должен видеть, что расходуется его траффик, IMHO. Во всех браузерах прошло "на ура", был глюк, но его удалось "добить". Всем спасибо. |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |