Я бы рекомендовал использовать Инструменты разработчика Chrome, чтобы понять это. Если вы загружаете свой сайт в Chrome, вы можете открыть инструменты, нажав кнопку гаечного ключа, затем Tools -> Developer Tools
(или Ctrl+Shift+I
).
Оттуда вы можете использовать вкладку «Ресурсы», чтобы увидеть все, что загружается для этой страницы, или вкладку «Сценарии», чтобы сосредоточиться только на javascript. Для этой проблемы ни один из них не кажется таким полезным, поэтому я рекомендую другой метод: нарушение изменений DOM. Взгляните на вкладку Элементы, щелкните правой кнопкой мыши на теге <body>
и выберите Break on subtree modifications
. Затем обновите страницу (возможно, потребуется обновить дважды, Chrome выругался для меня в первый раз).
Вам следует позвонить на jQuery.append
в окне сценариев (если нет, нажимайте F10 до тех пор, пока Chrome не обнаружит больше или меньше изменений при загрузке), и если вы посмотрите на переменную a
в разделе Local в подокне Scope Variables вы увидите, что он пытается вставить нарушающий div / iframe.
Теперь вы можете пошагово просматривать javascript с помощью кнопок в правом верхнем углу или F10 и F11. Если вы нажмете F10 несколько раз («Step Over»), вы попадете в нарушающий сценарий, называемый Chrome как «(программа)» (означает, что он был загружен динамически). Это было запутано, поэтому его немного трудно читать / понимать, но вы можете использовать окно консоли для запуска сценариев.
Например, функция jsn
используется для перевода запутанного текста. Вы можете использовать это, чтобы увидеть все различные строки, которые он использует, например, в этой строке:
jsg = jsn('Ch') + jsp(jsb).substring(0, jsa) + '.com/' + jsAJ($);
Это создает URL для iframe.
Это означает, что мы наверняка определили нарушающий скрипт, но тот факт, что он идентифицирован как '(program)' в Chrome, означает, что он был динамически загружен в память для запуска. Это означает, что фактическая часть сценария, скорее всего, сжимается и затем запутывается где-то в других ваших файлах сценария. Если вы просмотрите эти файлы сценариев в файле Resources, вы сможете найти строку или строки, которые не вписываются, выглядят очень запутанными / сжатыми и, возможно, находятся внутри вызова встроенной функции, IE:
(function() { ... } )();
Они также могут выглядеть несколько похожими на файл скрипта в представлении (программы). Это также может помочь в поиске вещей, которые было бы трудно сжать / оптимизировать, например, запутанных строк. Я искал одну из этих строк, haDWDosestnsdlDjfqcq
, и нашел ее внизу scripts.js
. Удалите эту строку, и ваш сайт должен быть в порядке!