Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: jq не вставляет script
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Bio man
Отправлено: 23 Января, 2014 - 18:21:50
Постоянный участник
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
Да и так пробовал, не помогло (Добавление)
Было обнаружено, что таким способом скрипт выполняется, но не вставляется в ДОМ.
Мне нужно, что бы скрипт вставился в ДОМ, яндекс карты по другому не работают
teddy
Отправлено: 23 Января, 2014 - 19:26:37
Участник
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
Так вроде и должно быть... скрипт отрабатывает но в исходном коде его быть не должно т.к он формируется динамически на клиенте а в исходном коде остается только то что было написано "ручками" - разве не так?
Если нужно что бы добавлялось в код тогда можно средствами php в зависимоти от действия отрисовывать это дело
Если отработал firstChild, который относится к DOM и скрипт понял, какой именно элемент нужно забрать, значит тег script уже является частью DOM-а. В противном случае выборка бы просто не удалась
MAXUS
Отправлено: 23 Января, 2014 - 19:56:45
Посетитель
Покинул форум
Сообщений всего: 329
Дата рег-ции: Апр. 2011
Честно пытался понять, что не так. У меня все работает. Не уверен, что делает $(function(){}), если не отслеживает конец загрузки документа, то как вариант, возможно, нода #scrollable не успевает отработаться да попытки вставить в нее скрипт. А так... Проверял в 5 браузерах (FF, Safari, Chrome, Opera, IE11)... Везде пашет...
teddy
Отправлено: 23 Января, 2014 - 20:09:58
Участник
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
MAXUS пишет:
что делает $(function(){})
это как onload, врядли из за этого. По идее этот кусок должен отработать после загрузки документа
вообще если честно смущает $('<script>') такая запись... впервые встречаю что бы в селекторе писали угловые скобки. обычно $('elementName') или $('#id') и т.д но без угловых скобок... может все дело в этом.. попробуйте убрать угловые скобки а так же посмотрите в какой именно script это вставляется, возможно у вас их несколько. Ну минимум 2 я думаю, если jQuery подключен
Покинул форум
Сообщений всего: 329
Дата рег-ции: Апр. 2011
Помог: 7 раз(а)
teddy пишет:
MAXUS пишет:
что делает $(function(){})
это как onload, врядли из за этого. По идее этот кусок должен отработать после загрузки документа
вообще если честно смущает $('<script>') такая запись...
jquery-1.9.1.js прожевало и не подавилось. Все отрабатывает. Я даже удивился, потому что раньше, насколько помню, если скрипт попадает не в head, то он не запускается. Еще года полтора назад такая проблема была.
Bio man
Отправлено: 23 Января, 2014 - 20:23:02
Постоянный участник
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
$('<script>') - создание элемента.
Завтра проверю все что вы написали, и отпишусь.
Спасибо.
Bio man
Отправлено: 24 Января, 2014 - 14:12:22
Постоянный участник
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
teddy пишет:
Bio man
Ну если скрипт отрабатывает значит он добавился в DOM. Вот простой пример
Если отработал firstChild, который относится к DOM и скрипт понял, какой именно элемент нужно забрать, значит тег script уже является частью DOM-а. В противном случае выборка бы просто не удалась
Чистый JS все таки сработал. Спасибо тебе, сэкономил мне много времени.
OrmaJever
Отправлено: 24 Января, 2014 - 14:20:35
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Bio man пишет:
Чистый JS все таки сработал
<sarcasm>Прям удивлён, как же чистый js сработал как надо... и при этом код занял меньше 1000 строк...</sarcasm>
Зачем вообще юзать jq для таких простых операций? Сэкономил 3 минуты и 2 строки кода - потратил 2 дня на решение проблемы.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
MAXUS
Отправлено: 25 Января, 2014 - 00:59:32
Посетитель
Покинул форум
Сообщений всего: 329
Дата рег-ции: Апр. 2011
Помог: 7 раз(а)
OrmaJever пишет:
Bio man пишет:
Чистый JS все таки сработал
<sarcasm>Прям удивлён, как же чистый js сработал как надо... и при этом код занял меньше 1000 строк...</sarcasm>
Зачем вообще юзать jq для таких простых операций? Сэкономил 3 минуты и 2 строки кода - потратил 2 дня на решение проблемы.
Поддерживаю сарказм. Я, правда, вообще не понимаю зачем юзать jq... Для селекторов уже есть querySelector...
Но, с другой стороны, как в том анекдоте, когда американцы думали, почему отказал левый двигатель, а русские, а почему не отказал правый Я не могу понять, что в jq, в итоге не работало, потому что у меня прекрасно выполнилось и в jq и на нативном js...
IllusionMH
Отправлено: 25 Января, 2014 - 12:30:39
Активный участник
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
MAXUS, у querySelector есть свои приколы и не все селекторы в IE8. Особенно если речь идет о поиске дочерних элементов. Об этом как раз рассказывал автор движка селекторов Sizzle который в jQ используется. Не могу найти видео
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.