|
{c0Der}
|
|
определение файла, в контексте которого выполняется функция20.07.2012, 11:31. Показов 3168. Ответов 11
Метки нет (Все метки)
Есть ли возможность в JS определять текущий файл скрипта, в котором выполняется код?
Т.е., к примеру, одна и таже функция запускается из файла script1.js и из файла script2.js...
0
|
|
| 20.07.2012, 11:31 | |
|
Ответы с готовыми решениями:
11
Вычислить время до мс, в течение которого выполняется код Найти первый член x(n), для которого выполняется условие |
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
|
| 20.07.2012, 11:39 | |
|
Пропишите два разных alert'a в этих функциях - какой-то сработает.
Так и узнаете. А специальных методов, которые обрисовали бы всю последовательность исполнения кода, не существует.
1
|
|
|
{c0Der}
|
||
| 20.07.2012, 11:44 [ТС] | ||
|
Можно тогда хотя бы определять текущую "позицию" как либо считывая текущий элемент html? Но не document.write, а как-нибудь "тихо"?
0
|
||
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
||
| 20.07.2012, 12:04 | ||
|
Повторяю во второй раз - каких-то специальных методов, отслеживающих изменение переменных JS-кода, НЕ СУЩЕСТВУЕТ.
1
|
||
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
||
| 20.07.2012, 12:42 | ||
|
С помощью технологии AJAX можно передать на страницу JS-код со множеством функций и поместить этот JS-код как строку в переменную myjscode. Чтобы эти функции "прижились" на странице, нужно создать блок <script id="myscript"></script> на этой странице и в качестве свойства text этого блока поместить туда переданный на страницу JS-код, вот так: document.getElementById ('myscript').text = myjscode; Затем можно передать вторую порцию JS-кода, снова запомнить его как строку в ту же переменную myjscode и тоже поместить в этот же скриптовой блок, полностью уничтожив предыдущий код ("первую порцию"). И, наконец, после всего этого можно очистить этот скриптовой блок document.getElementById ('myscript').text = ''; Но, что самое интересное, все функции - и из первой порции, и из второй - они ВСЕ будут работать, хотя их JS-кода на странице более нет. ----- Мысль поняли? Страница - это "авоська", в которую ссыпаются все-все-все переменные, функции и прочие JS-объекты из разных "магазинов" (из скриптовых блоков, из подключаемых файлов). Ссыпаются и перемешиваются. Узнать потом - что из какого магазина - НЕЛЬЗЯ В ПРИНЦИПЕ. Только если не пометить "чеком" (каким-то alert'ом) каждую из "покупок". Так что на вопрос "как пройти в библиотеку?" в этом случае как раз и стоит ответить - "идите сходите в кафе, испейте чашечку, охолонитесь. Мей би, поймёте, что библиотеки здесь нет".
1
|
||
|
{c0Der}
|
|
| 20.07.2012, 12:58 [ТС] | |
|
kalabuni, уважаемый, боюсь вас расстраивать, но у вас обнаружен синдром профессора.
Не стоит делать фундаментальные заявления, не зная объект обсуждения досконально... Я могу, к примеру, при каждом вызове ф-ии парсить "this", и анализируя текущее состояние определять из какого места ф-ия вызвана, но это слишком сложно и "некрасиво"... З.Ы. если вы чего-то не знаете, не стоит заявлять что этого чего-то не существует...
0
|
|
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
||||||
| 20.07.2012, 13:16 | ||||||
|
Markus_13, также боюсь вас расстроить, но у вас, походу, неизлечённый синдром клоуна.
Этот самый некрасивый this даст вам объект, с которым в данное время вы работаете. Но вот место, где этот объект был сформирован/определён, вы не узнаете. Пробуя ложку со "сборной солянкой", можно определить - имеется ли там морковка, сало или картофель... Но вот определить по вкусу - в каком конкретном магазине покупались эти самые морковка, сало и картофель вам, увы, не удастся. ----- Не согласны? Плиз, опровергните моё утверждение. На этом простейшем примере добейтесь, чтобы при исполнении функции f1 () вами где-то был бы получен идентификатор sc1, а при выполнении f2 () - идентификатор sc2. Свяжите функцию с местом её определения. Если вам это удастся - особливо с помощью this - я... даже не знаю что сделаю. Съем свои грязные носки, и видео выложу здесь, идёт?
0
|
||||||
|
{c0Der}
|
||||||||||||
| 20.07.2012, 13:31 [ТС] | ||||||||||||
|
Создаем html-файл:
"[58] [120] "
0
|
||||||||||||
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
||||||||
| 20.07.2012, 13:51 | ||||||||
|
Чем мой "клоун" хуже/лучше вашего "профессора"? Неужто мама вам в детстве не читала - "Все профессии нужны, все профессии важны"? Восполните пробел в образовании/воспитании - http://www.openclass.ru/node/143495 ----- Чуть переделываю:
0
|
||||||||
|
{c0Der}
|
||
| 20.07.2012, 14:42 [ТС] | ||
|
- Да ладно! Вот я вытаскиваю эту и эту карты и он рухнул... З.Ы. хватит оффтопить, ответа на мой вопрос вы не знаете, и то пытаетесь меня оскорбить, то пишете никак не относящийся к обсуждаемой теме текст. Все равно мы ни к какому консенсусу не придем - вы просто не умеете "слышать" собеседника...
0
|
||
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
||||||
| 20.07.2012, 15:15 | ||||||
|
Markus_13, собеседники бывают разные.
Есть и такие, которых услышать-то можно, но вот разобрать их слова нельзя. Это как раз такие, которые своих "профессоров" оскорблением не считают, а на чужих "клоунов" обижаются. Вопрос стоит в том, чтобы программно (sic!) определить - в каком из файлов была помещена инструкция, коя в данный момент исполняется.
Я могу переделать, например, так, что будет меняться время вызова функции (через объект Date ()) Или сделать функцию-итератор, и она в первом случае выведет единичку, а во втором - двойку. Или ещё как-то... Но по-любому НЕВОЗМОЖНО показать при выполнении функции - в каком конкретно месте JS-кода эта функция определена. И невозможно определить конкретное место JS-кода, где эта функция вызвана. Поймите вы, наконец-то, что браузер прочитывает JS-код построчно, по мере его загрузки и уже САМ, в своих внутренностях, каким-то образом все эти объекты, переменные и функции "устаканивает", размещает их по каким-то своим "полочкам". Браузеру без разницы - во внешнем файле функция была определена, в скриптовом блоке или ещё как-то. Он эту информацию НЕ СОХРАНЯЕТ. Ибо она ему НЕ НУЖНА. Соответственно, и вы эту информацию получить НЕ СМОЖЕТЕ.
0
|
||||||
| 20.07.2012, 15:15 | |
|
Помогаю со студенческими работами здесь
12
Вычислить номер элемента, для которого НЕ выполняется условие Найти первый член для которого выполняется условие
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
|
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo
Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло.
Но на выплатах по больничным это. . .
|
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
|
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y
Z4Tv2zpXVVo
https:/ / github. com/ shumilovas/ med2. git
|
|
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа.
В качестве фильтра для отбора справочника служит группа номенклатуры.
Отбор по наименованию группы. . .
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа.
В качестве фильтра для отбора служит значение перечислений.
/ / Событие "НачалоВыбора" реквизита на форме. . .
|