|
|
|
Подгрузка чрез AJAX контента HTML содержащего JavaScript
|
|||
|---|---|---|---|
|
#18+
Фреймворков и библиотек для асинхронной подгрузки HTML в какой нибудь div итп. полно, но все они могут подгружать только простой HTML. Если же в HTML коде содержится JavaScript, то он не выполняется либо лезут баги после загрузки. Есть так же возможности асинхронно подкачивать js и css файлы но это всё не то. Мне нужно асинхронно загрузить в DIV - HTML содержащий JavaScript. Кто нибудь сталкивался с такой проблемой? PS Вынести JavaScript в отдельный JS файл не предлагать. Там используюся конструкции типа document.write и поэтому JavaScript должен находиться прямо в HTML ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2008, 19:20 |
|
||
|
Подгрузка чрез AJAX контента HTML содержащего JavaScript
|
|||
|---|---|---|---|
|
#18+
В prototype.js при загрузке HTML-контента можно задать параметр evalScript. Но скрипты будут выполняться немного по-другому. Каждый скрипт выполняется функцией eval() в контексте функции из библиотеки prototype.js в локальномконтексте этой функции. Поэтому все локальные имена не будут видны (это имена переменных заанных с var и имена функций заданных как function ...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2008, 19:50 |
|
||
|
Подгрузка чрез AJAX контента HTML содержащего JavaScript
|
|||
|---|---|---|---|
|
#18+
ПупВынести JavaScript в отдельный JS файл не предлагать Ладно, не будем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2008, 19:51 |
|
||
|
Подгрузка чрез AJAX контента HTML содержащего JavaScript
|
|||
|---|---|---|---|
|
#18+
ПупФреймворков и библиотек для асинхронной подгрузки HTML в какой нибудь div итп. полно... Нафиг эти фреймворки и библиотеки. Для загрузки страниц, действительно, можно использовать XmlHttpRequest, который обычно отождествляют с аяксом. Можно же использовать тот факт, что креатеЭлемент "скрипт" и аппенд чилд его в боди, позволяет выполнить этот скрипт непосредственно. Премерчег не напишу - задолбало уже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2008, 20:46 |
|
||
|
Подгрузка чрез AJAX контента HTML содержащего JavaScript
|
|||
|---|---|---|---|
|
#18+
ShSerge[ Можно же использовать тот факт, что креатеЭлемент "скрипт" и аппенд чилд его в боди, позволяет выполнить этот скрипт непосредственно. Премерчег не напишу - задолбало уже. Ну мужик же просил в отдельный файл не предлагать. Он по-своему прав. Если переводить обычное приложение в асинхронное - как раз и нужен функционал с выпонением скриптов и загрузкой CSS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2008, 21:16 |
|
||
|
Подгрузка чрез AJAX контента HTML содержащего JavaScript
|
|||
|---|---|---|---|
|
#18+
Ну тогда можно пропарсить входящий xhtml или чего там, и опять - аппенд чилд... . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2008, 21:26 |
|
||
|
Подгрузка чрез AJAX контента HTML содержащего JavaScript
|
|||
|---|---|---|---|
|
#18+
Пуп Там используюся конструкции типа document.write и поэтому JavaScript должен находиться прямо в HTML Не заметил сразу эту подробность. Асинхронные запросы загружеют документ после загрузки основного документа. Любой вызов write после загрузки основного документа (это Ваш случай) перепишет текст документа новым значением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2008, 23:57 |
|
||
|
Подгрузка чрез AJAX контента HTML содержащего JavaScript
|
|||
|---|---|---|---|
|
#18+
бггг, ну грузи тогда в iframe :) или измени своим принципам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2008, 01:16 |
|
||
|
Подгрузка чрез AJAX контента HTML содержащего JavaScript
|
|||
|---|---|---|---|
|
#18+
ПупФреймворков и библиотек для асинхронной подгрузки HTML в какой нибудь div итп. полно, но все они могут подгружать только простой HTML. Если же в HTML коде содержится JavaScript, то он не выполняется либо лезут баги после загрузки. Есть так же возможности асинхронно подкачивать js и css файлы но это всё не то. Мне нужно асинхронно загрузить в DIV - HTML содержащий JavaScript. Кто нибудь сталкивался с такой проблемой? PS Вынести JavaScript в отдельный JS файл не предлагать. Там используюся конструкции типа document.write и поэтому JavaScript должен находиться прямо в HTML Какие проблемы? - У меня последний проект от и до построен на такой схеме, все страницы (пока десятка 3) грузятся динамически. Точнее, не страницы, а контент рабочей области. Зачастую скрипты вместе с хтмл-кодом занимают строк по 600-900. Не скажу про ВСЕ навигаторы, но ИЕ6, ИЕ7 и ФФ2 работают отлично. Конечно, есть js-файл, но он служит только для загрузки моего контента и обработки некоторых универсальных вещей - ввода текста, вывода текста ошибок, загрузки скрипта и т.д. Что интересно, есть страницы, которые грузятся динамически, создают плавающий див и точно таким же способом грузят в него также код и скрипт, который так же выполняется. В принципе, сделано достаточно сложно и не очень удобно. Но главное, чего добивался - динамическая подгрузка контента (типа десктоп приложение) и практически полная защищенность кода. Использую следующую конструкцию (прошу не ругать - это с прошлого проекта и требует доработки, чем позже и займусь): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. "main_body" - id того самого дива, содержимое которого меняется. Если первые 6 получаемых символов - "error!", содержимое не обновляем, а выписываем ошибку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2008, 23:34 |
|
||
|
Подгрузка чрез AJAX контента HTML содержащего JavaScript
|
|||
|---|---|---|---|
|
#18+
Могутолько добавить, что для работы в глоабальной области вилис=мости нужно использовать window.eval() или execScript() вместо eval(). Как, например. это жделает globalEval() в jQuery ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2008, 00:00 |
|
||
|
Подгрузка чрез AJAX контента HTML содержащего JavaScript
|
|||
|---|---|---|---|
|
#18+
Теоретически может быть. Но насколько я понимаю некоторые аспекты javascript, то идиомы "eval()" и "window.eval()" идентичны. Кроме этого, по своему опыту скажу, что не возникало даже заминки по этому поводу. p.s. А jQuery - пересерщики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2008, 12:56 |
|
||
|
Подгрузка чрез AJAX контента HTML содержащего JavaScript
|
|||
|---|---|---|---|
|
#18+
IDVsbruckТеоретически может быть. Но насколько я понимаю некоторые аспекты javascript, то идиомы "eval()" и "window.eval()" идентичны. Кроме этого, по своему опыту скажу, что не возникало даже заминки по этому поводу. p.s. А jQuery - пересерщики. А у тебя в коде встречается document.write? Вся проблема в нем, что он должен находиться и выполняться именно в конкретном участке HTML фрагмента. Вынесение его в JS или выполнение через eval НИЧЕГО не даст - document.write выпишет нужное хрен знает куда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2008, 14:19 |
|
||
|
Подгрузка чрез AJAX контента HTML содержащего JavaScript
|
|||
|---|---|---|---|
|
#18+
ПупА у тебя в коде встречается document.write? Врядли он его использует вообще. Тебе-то зачем эта фигня нужна? Без документ.врите - лучше живёццо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2008, 14:44 |
|
||
|
Подгрузка чрез AJAX контента HTML содержащего JavaScript
|
|||
|---|---|---|---|
|
#18+
Можно без eval. Пусть у нас есть хтмл-файл: Код: plaintext 1. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2008, 17:00 |
|
||
|
Подгрузка чрез AJAX контента HTML содержащего JavaScript
|
|||
|---|---|---|---|
|
#18+
Буквально сегодня читал статью AJAX-проблемы на одном блоге ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2008, 18:01 |
|
||
|
Подгрузка чрез AJAX контента HTML содержащего JavaScript
|
|||
|---|---|---|---|
|
#18+
Пуп IDVsbruckТеоретически может быть. Но насколько я понимаю некоторые аспекты javascript, то идиомы "eval()" и "window.eval()" идентичны. Кроме этого, по своему опыту скажу, что не возникало даже заминки по этому поводу. p.s. А jQuery - пересерщики. А у тебя в коде встречается document.write? Вся проблема в нем, что он должен находиться и выполняться именно в конкретном участке HTML фрагмента. Вынесение его в JS или выполнение через eval НИЧЕГО не даст - document.write выпишет нужное хрен знает куда. Забудь. document.write - зло! Хочешь нормально делать - делай через DOM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2008, 03:23 |
|
||
|
Подгрузка чрез AJAX контента HTML содержащего JavaScript
|
|||
|---|---|---|---|
|
#18+
BerkutБуквально сегодня читал статью AJAX-проблемы на одном блоге А посмотреть на дату? С сегодняшнего дня это смотрится как бред ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2008, 03:33 |
|
||
|
Подгрузка чрез AJAX контента HTML содержащего JavaScript
|
|||
|---|---|---|---|
|
#18+
Но там есть неплохая ссылка http://fullajax.ru/#:developers ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2008, 18:17 |
|
||
|
Подгрузка чрез AJAX контента HTML содержащего JavaScript
|
|||
|---|---|---|---|
|
#18+
Ну, ссылка - это ссылка. Кроме этого, хотя ребята вроде как неплохо потрудились, но ... а) надо быть любителем использовать внешние библиотеки; б) ради какой-то одной "фичи", которая делается в 20 строчках кода, ставить внешнюю библиотеку - пожалуй, неправильно; в) кроме этой библиотеки надо поставить еще и dojo - не самая маленькая лайбрари; г) если нужны экранные эффекты, то есть значительно мощней и больше библиотеки - вроде как облом ставить ... Поэтому в контексте рассматриваемых вопросов, на мой взгляд, она достаточно бессмысленная. Зато есть и хорошая сторона, особенно для тех, кто не программирует на Java или Delphi (С не рассматриваю, так как синтаксис и форматирование там более хаотическое) и особенно для ПэХаПи-стов: обратите внимание на форматирование кода в библиотеке - любо-дорого посмотреть. Все же Java - замечательная школа в этом смысле, и тут она видна в полной мере - подход, названия, синтаксис и т.д. Просто насмотришься на хаотический код, на котором обычно лабают javascript, и тоскливо становится ... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2008, 19:02 |
|
||
|
|

start [/forum/topic.php?fid=22&fpage=329&tid=1456243]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
17ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
128ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 380ms |

| 0 / 0 |
