| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > script src="" - как получить подключаемый код? |
| Автор: kanaris 29.5.2011, 22:41 | ||
Как в javascript получить код подключаемого скрипта?
через innerHTML получить нельзя, т.к. его нет. Домен отличается от того, с которого "инклудится". |
| Автор: Sartorius 29.5.2011, 23:05 |
Тогда никак, иначе возможна XSS атака. |
| Автор: kanaris 29.5.2011, 23:21 |
| А через флеш это возможно? (с технологией флеш не знаком вообще, не знаю какие там меры приватности) |
| Автор: Sartorius 29.5.2011, 23:27 |
| Для доступа через флеш сайт, к которому флеш-ролик обращается, должен иметь правильный crossdomain.xml. А что нужно то? Просто получить этот cкрипт на своей странице? Тогда можно через серверный сцнарий сделать. AJAX запрос на серверный скрипт своего домена, а он уже возьмет этот JS |
| Автор: Котокобра 30.5.2011, 10:23 | ||
почему нельзя? скрипты - такая же коллекция DOM, как и все остальное.
|
| Автор: kanaris 30.5.2011, 15:45 | ||
Котокобра, не правильно понял. Нужно получить исходный код файла, который подключается (со стороннего домена). Видимо никак нельзя...
не, через сервер не получится. АйПи то должен быть клиентский... Надо получить исходный код скрипта и выпарсить оттуда некоторые хеши-переменные. Запросить напрямую после подключения скрипта их нельзя, т.к. они запрятаны в анонимную функцию. Впринципе если написать: alert(functionName); - выскочит сообщение с исходным кодом функции. Т.е. каким-то образом можно преобразовать ее в строку и выпарсить. Но функция же анонимная. Есть ли способ получить массив анонимных функций? |
| Автор: Котокобра 30.5.2011, 19:23 |
| ну сделай аякс на фрейме (для хрома, остальные xml-ем вытянут) то есть передаешь фрейму ссылкуу на js, и забираешь body.innerHTML хрен знает, насколько надежно, но вроде работает. |
| Автор: kanaris 31.5.2011, 14:40 |
| так если фрейм будет на другом домене, работать не будет |
| Автор: Котокобра 1.6.2011, 02:13 |
| kanaris, как это не будет? ты его открываешь во фрейме как текст. все равно, что в адресной строке браузера набрать полный путь к скрипту. |
| Автор: kanaris 1.6.2011, 09:39 |
| Фрейм то работать будет! А вот доступ к его Dom-дереву будет невозможен. Выскочит ошибка access denied (попробуй сам) |
| Автор: Котокобра 1.6.2011, 09:51 |
| kanaris, давай попробую, скинь код. |
| Автор: kanaris 1.6.2011, 18:21 | ||
пробуй
|
| Автор: Котокобра 7.6.2011, 23:01 |
| kanaris, ты был прав( |
| Автор: fidres 8.6.2011, 07:32 |
| чё-т ваще не вкурил. советую попользоваться старыми версиями обозревателей (где нет защиты от XSS на стороне клиента). (в принципе, как и старой какой-нибудь операционкой, умеющей доставать что-то через тырнет...) |