![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
polosatij |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 1 Всего: 8 |
работаю с ajax-ом.. получается проблема при подгрузке контента.. ![]() посмотрел этот топик: http://forum.vingrad.ru/topic-87742.html 1. вариант с "обворачивай в функцию и вызывай её." мне не подходит 2. попробовал грузить в .iframe, но почему-то яваскрипт не подгружается, если динамически менять .iframe 3. вариант: "либо клади во внешний файл и подгружай, как <script src="*"></script>".. а как можно подгрузить такое динамически, а не при первой загрузке страницы? может быть есть ещё какие варианты? ![]() eval() - не предлогать, в друх файлах более 1500 строк.. ![]() |
|||
|
||||
skyboy |
|
||||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 10 Всего: 260 |
создать элемент <script>?
Добавлено через 2 минуты и 8 секунд обрати ещё внимание вот ещё на двухдневной давности тему: Добавлено через 8 минут и 43 секунды Подгрузка и выполнение JavaScript |
||||
|
|||||
polosatij |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 1 Всего: 8 |
skyboy,
ещё не попробовал.. но о таком простом варианте, я что-то не подумал ![]() скажи, 1. а можно ли не только подгружать, но ещё и выгружать из памяти javascript? ![]() 2. есть ли в яваскрипт такой механизм как reflection? ![]() |
|||
|
||||
skyboy |
|
||||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 10 Всего: 260 |
ООП в javascript'e, в отличии от Java и .NET(не знаю, откуда "пришел" вопрос про reflection), основывается не на иерархии классов, а на иерархии прототипов(prototype-based). Потому чтоб говорить о reflection, сначала уточни, ЧТО именно тебя интересует. Например, получить доступ к методам/свойства по имени можно при помощи функции эвуляции eval() или при обращении к объектам, как к массивам(myobject[myproperty]= 555;). Точно так же можно получить и перечисление:
Надеюсь, нигде не опечатался ![]()
Не знаю. А зачем? Сам блок <script>, конечно, можно удалить из DOM-дерева, но не знаю, что будет с уже "привязанными" к событиям функциями... Это сообщение отредактировал(а) skyboy - 23.4.2007, 00:21 |
||||
|
|||||
Alx |
|
|||
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 10 Всего: 78 |
||||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 10 Всего: 260 |
||||
|
||||
polosatij |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 1 Всего: 8 |
очень часто при программировании в javascript возникает одна и та же проблема: "этот класс/ объект или что там ещё не содержит такой методы".. хотелось бы как-нибудь посмотреть, какие у класса, объекта методы/ функции в наличии ![]() |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 10 Всего: 260 |
я ж написал
![]() хотя, нет необходимости обращаться к объекту как к массиву(точнее - хеш-таблице), если цель - только узнать о наличии метода. Например, вот такая конструкция
будучи выполненной в обозревателе выдаст сообщение об отсуствии метода. Т.е. другими словами, несуществующие методы и свойства в объекте == false. |
|||
|
||||
polosatij |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 1 Всего: 8 |
skyboy,
ты меня не понял.. мне нужно все методы объекта, а не гадать, если ли метод у метода или нет, как это делаешь ты ![]() |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 10 Всего: 260 |
и свойства тоже можно получить. И это я демонстрировал шестью постами выше при помощи конструкции типа for(... in ...) А теперь может объяснишь, зачем тебе работа с полным списком методов? Может, ты ещё просто не почувствовал различия между prototype-based и class-based подходами? |
|||
|
||||
polosatij |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 1 Всего: 8 |
у меня одна страница.. и в неё погружается контент.. теперь прикинь ситуацию.. страница может быть составлена из сотни других маленьких частей, где ещё и нужны для работы яваскрипт.. терь представь ситуацию.. ты подгружаешь скрипт имеющий ту же самую по назнанию функцию, но разное по функциональности.. ![]() Добавлено через 1 минуту и 59 секунд
не знаю.. возможно ![]() у меня нет большого опыта с яваскриптом.. немного чего писал, но ещё не постиг все основы этого скриптового языка ![]() ![]() |
||||
|
|||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 10 Всего: 260 |
так не швыряй кодом. швыряй данными. а код пусть будет один и тот же. тогда и обработка будет однообразная, и никакой коллизии имен. А чтоб страницу составить из блоков, совсем необязательно бросать лоскутное одеяло из javascript'ов
![]() |
|||
|
||||
polosatij |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 1 Всего: 8 |
так не получиться, слишком много кода ![]() хорошо.. а что ещё ты посоветуешь? смотри, здесь, скрееншот => http://www.immobaer.com/antrakt/1.jpg при нажатии слева на меню, в середину подружается "нечто".. как бы ты поступил? ![]() |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 10 Всего: 260 |
недокачал скрин. 1600х1200
![]() |
|||
|
||||
polosatij |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 1 Всего: 8 |
skyboy,
о.. крута.. за это зачёт ![]() Добавлено через 3 минуты и 8 секунд надо менять данные, а к данным естественно и функциональность ![]() как пример, представь, ты нажал на "журнал".. в контент был загружен журнал а вместе с ним и должен быть загружен весь причестный к этому яваскрипт.. угу.. тока не окон.. а перегружающихся div-ов ![]() ![]() |
|||
|
||||
skyboy |
|
||||||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 10 Всего: 260 |
Хм. ![]() Впрочем, ответ уже был дан - да, удалять можно ![]() там же ошибка только. в первой строке надо либо
либо
|
||||||
|
|||||||
polosatij |
|
||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 1 Всего: 8 |
skyboy,
я понял ![]() ещё вот что.. ты не ответил на вопрос.. а как сделать лучше? ![]() ещё вот что.. код, что посоветовали, не работает:
а test.js, попробовал вот так:
метода _do() не вызывается.. ![]() Добавлено через 1 минуту и 29 секунд хм.. а как из памяти удалить тогда? просто переправить .src у javascript-а? ![]() ![]() Добавлено через 10 минут и 56 секунд получилось так:
однако такой код меня не устраивает.. ![]() |
||||||||
|
|||||||||
skyboy |
|
||||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 10 Всего: 260 |
я так понимаю, проблема в том, что назначаешь события(onclick/onmouseover etc) с использованием js до того, как загрузишь и встроишь соответствующие js-файлы? ибо вот такое вот извращение работает и не жужжит:
Как видишь, я указываю в обработчики функцию уже после её создания(после инициализации скрипта, включающие её). А у тебя, навернок, порядок создания обратный: сначала - элемент и попытка создания обработчика, потом уже - сам скрипт. Так? |
||||
|
|||||
polosatij |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 1 Всего: 8 |
skyboy, да.. ты прав.. поставил загрузку первой и всё вышло ![]() ![]() но снова к вопросу о распределении JS и подгрузке AJAX.. как же сделать лучше, чтоб не нужно было постоянно куски тянуть? => ведь здесь ещё что получается.. юзер кликнул сюда, кликнул туда.. подгрузили всё.. терь он кликнул на то, что уже было загружено.. что получается, в JS нужно номер идентификационный прописывать, и спрашивать, были ли ты уже подгружен.. ![]() |
|||
|
||||
skyboy |
|
||||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 10 Всего: 260 |
изврат: делай все на замыканиях.
то есть, вместо
делай
|
||||
|
|||||
polosatij |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 1 Всего: 8 |
skyboy,
хе-хе.. нет.. так не пойдёт.. ![]() мне всё равно надо подружать .js.. a если не подгружать, а писать прям в контент функции, то так не выйдет.. у меня не две строчки, а сотни и тысячи.. ![]() |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 10 Всего: 260 |
ну, не знаю. значит, пиши функции, чтоб не было конфликта имен...
|
|||
|
||||
Alx |
|
|||
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 10 Всего: 78 |
skyboy,
твой код в ИЕ вызывает ошибку - неожиданный вызов метода или обращение к свойству... похоже к элементу script нельзя добавлять детей... innerHTML тоже не помогает... |
|||
|
||||
linuxer |
|
||||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 6.5.2007 Репутация: нет Всего: нет |
|
||||
|
|||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |