2013-11-07 2 views
2

ив пытался все я жвачку, чтобы понять это, но я не могу отслеживать кусок JavaScript на веб-страницеотслеживания JavaScript найдено в исходный текст

так, просто чтобы дать вам некоторый контекст, даже если моя проблема не связана с только этот сценарий. это зависит от гораздо большего спектра.

В любом случае, im развивается на sugarCRM и им пытается изменить значение по умолчанию по умолчанию для слота в модуле календаря (вам не нужно понимать это, чтобы помочь мне, поэтому, пожалуйста, продолжайте читать). когда я нажимаю на слот, открывается модальное диалоговое окно, позволяющее мне регистрировать встречу или вызов.

Итак, я отследил javascript за этим. ive использовали firebug и chrome, и оба они дают список всех файлов JS, которые используются на данной веб-странице , например, я ищу «SUGAR.collection», а firebug сообщает мне, что он находится в файле с именем «sugar_field_grp.js» ? v = FVh1Z-v5nA6bYov7-aFFqQ «Я вижу, что этот фрагмент кода находится в файле sugar_field_grp.js, , но код im, пытающийся изменить, находится в« index.php? module = Calendar & action = index & parentTab = Activities », firebug на самом деле говорит мне, что это файл с javascript, который я хочу изменить.

Я также могу щелкнуть правой кнопкой мыши на странице просмотра страницы, и я могу увидеть этот фрагмент кода внутри тега скрипта. поэтому, учитывая, что этот фрагмент кода не находится в JS-файле, я не могу его изменить, его сгенерировали во время выполнения (я думаю), но должен быть какой-то источник, должен быть файл, который говорит sugarCRM для генерации этого кода

tl ; dr как выследить кусок кода javascript, который находится на ресурсе источника, и файл JS не указан в файле firebug или chrome для index.php (этот файл не имеет этого javascript)

Я знаю, что это был длинный пост спасибо за чтение

+1

попытайтесь найти все исходные файлы для созданного js –

+0

Я искал код «dialog_create», firebug/chrome debugger нашел этот код внутри файла index.php (что по сути означает, что этот код является частью источника страницы, внутри тег сценария, я имею в виду, что нет файла, который содержит этот код, этот код на самом деле является частью источника страницы) – masadwin

+0

Я имею в виду то же, что и slebetman .. используйте grep или аналогичные инструменты для поиска всех файлов ... –

ответ

4

Узнайте, как искать строки в файлах на диске на вашем компьютере.

В Linux, MacOS и большинстве приложений unixen для этого есть grep. Это относится к любому языку программирования, с которым вы работаете. В вашем случае просто cd в директорию вашего исходного кода и сделать:

grep -r SUGAR.collection . 

Если вы используете Git в качестве инструмента управления версиями, то git grep гораздо быстрее.

В Windows есть различные инструменты графического интерфейса, которые вы можете использовать для поиска текста в файлах. Просто Google: grep for windows.

Если вы используете IDE, то только функциональные возможности вашего IDE-входа.

+0

Я написал небольшое консольное приложение C#, которое ищет файлы php и js в папке для любой строки, которую я предоставляю.это приложение помогло мне найти, где $ _REQUEST вызывается, например, или сказать, SUGAR.util , но когда я ищу «dialog_create», поиск возвращает пусто – masadwin

+0

Не ограничивайте себя файлами php и js. Код может скрываться в html или txt-файлах, которые кто-то использует для шаблонов. Просто найдите все файлы - да, включая файлы jpg и gif. Это определенно не будет в файлах jpg (если только он не был вставлен вирусом), но попытка отфильтровать типы файлов больше, чем того стоит, и может привести к случайному отфильтрованию одного файла, который содержит то, что вы ищете для. Будьте ленивы - просто обрабатывайте все файлы как текст. – slebetman

+0

На самом деле, сказав это, grep немного соображает, что он прекращает обработку файла, который он обнаруживает как двоичный, чтобы не повредить терминал/консоль, выведя двоичные данные. Большинство программ просто обнаруживают наличие nul (0x00) для обнаружения двоичных файлов. – slebetman

0

Чтобы отследить определенный код с помощью Chrome/Webkit, выполните следующие два этапа:

Клиент:

1.Поиск всех статических письменных источников

  • Открыть Dev панель с помощью CTRL + SHIFT + I
  • Хит CTRL + SHIFT + F для глобального диалога поиска, чтобы совать up
  • Прямо рядом с ним вы можете установить довольно печатную версию JS-кода на: button {}
  • Введите условие поиска или условия с использованием регулярных выражений
  • Дополнительно: Решите, если вам нужен поиск без учета регистра, который имеет большую searchspace и занимает больше времени Пример:

    enter image description here

2. Поиск динамического содержимого пользовательского DOM

  • Перейти к 'Элементы' на вкладке хит CTRL +F.
  • Введите условия поиска (Это также будет искать плавающие фреймы, SVG-х и т.д. ... в пределах родительского DOM)

3. Рекомендуется:

  • Перекрестная ссылка результаты стадии 1 и шаг 2.
  • Если заданная строка присутствует как в DOM, так и в статических источниках, вы можете предположить, что контент не программно создан на стороне клиента.

Сервер:

  • Многие проекты выполняют средства массовой информации шаг перед контент-доставки пакетирования. Они собирают веб-ресурсы в основной файл (например, index.php), чтобы сохранить HTTP-обратные вызовы.
    Используйте sourcemaps/и или ищите всю кодовую базу для значимой статической строки или ключевого слова рядом с статической строкой, чтобы найти исходные исходные файлы.

    Поиск файлов:

    Локально, я обычно использую быстрый индекс, и эвристического поиска среды IDE JetBrain в (IDEA, PhpStorm, ...) и возвышенного. Инструмент grep-command может определенно не конкурировать здесь с точки зрения производительности. В Windows я дополнительно использую Totalcommander и его возможности поиска в архиве/регулярном выражении.

    Когда быстро отрываясь код на сервере, вы можете использовать что-то вроде:

    grep -r -C10 --color=always 'keyword1|keyword2' htdocs/ | less -R

    , который также предоставит вам строки контекста. два оговорки: вы можете сначала отфильтровать двоичные файлы, а символические ссылки за пределами области действия будут проигнорированы.

+0

Я отследил код, который я хочу изменить, но как узнать, в каком файле находится этот код. на самом деле я знаю, как найти файл, хром или firefox конкретно сообщает u файл, например, xyz.js , но в моем случае его сообщение em index.php и index.php просто содержит 8 или 9 строк php-кода, не js – masadwin

+0

да, я знаю эту функцию. но смотрите. в вашем pic, где он сообщает u, имя файла - stub.en.js, верно? код, который я хочу отслеживать, говорит, что файл index.php и даже может видеть этот код в источнике страницы внутри тега скрипта, theres no js file – masadwin

+0

Также ищутся страницы-источники. Если index.php содержит указанный javascript или поисковый запрос, он будет указан. На приведенном выше рисунке есть только один файл, содержащий выражение поиска. –

Смежные вопросы