Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> script src="" - как получить подключаемый код? подключается с другого домена 
:(
    Опции темы
kanaris
Дата 29.5.2011, 22:41 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 16.2.2008

Репутация: нет
Всего: -1



Как в javascript получить код подключаемого скрипта?

Код

<script type="text/javascript" src="http://otherdomain.com/script.js"></sctipt>


через innerHTML получить нельзя, т.к. его нет.
Домен отличается от того, с которого "инклудится".
PM MAIL   Вверх
Sartorius
Дата 29.5.2011, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: нет
Всего: 37



Цитата(kanaris @  29.5.2011,  23:41 Найти цитируемый пост)
Домен отличается от того, с которого "инклудится". 

Тогда никак, иначе возможна XSS атака.
PM MAIL ICQ   Вверх
kanaris
Дата 29.5.2011, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 16.2.2008

Репутация: нет
Всего: -1



А через флеш это возможно? (с технологией флеш не знаком вообще, не знаю какие там меры приватности)
PM MAIL   Вверх
Sartorius
Дата 29.5.2011, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: нет
Всего: 37



Для доступа через флеш сайт, к которому флеш-ролик обращается, должен иметь правильный crossdomain.xml. А что нужно то? Просто получить этот cкрипт на своей странице? Тогда можно через серверный сцнарий сделать. AJAX запрос на серверный скрипт своего домена, а он уже возьмет этот JS
PM MAIL ICQ   Вверх
Котокобра
Дата 30.5.2011, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 26.11.2009

Репутация: нет
Всего: 4



почему нельзя? скрипты - такая же коллекция DOM, как и все остальное.

Код

javascript:alert(document.getElementsByTagName('script').length);

PM MAIL   Вверх
kanaris
Дата 30.5.2011, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 16.2.2008

Репутация: нет
Всего: -1



Котокобра, не правильно понял. Нужно получить исходный код файла, который подключается (со стороннего домена). Видимо никак нельзя...

Цитата

А что нужно то? Просто получить этот cкрипт на своей странице? Тогда можно через серверный сцнарий сделать.


не, через сервер не получится. АйПи то должен быть клиентский...
Надо получить исходный код скрипта и выпарсить оттуда некоторые хеши-переменные.
Запросить напрямую после подключения скрипта их нельзя, т.к. они запрятаны в анонимную функцию.

Впринципе если написать: alert(functionName); - выскочит сообщение с исходным кодом функции. Т.е. каким-то образом можно преобразовать ее в строку и выпарсить. Но функция же анонимная. Есть ли способ получить массив анонимных функций?
PM MAIL   Вверх
Котокобра
Дата 30.5.2011, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 26.11.2009

Репутация: нет
Всего: 4



ну сделай аякс на фрейме (для хрома, остальные xml-ем вытянут)
то есть передаешь фрейму ссылкуу на js, и забираешь body.innerHTML

хрен знает, насколько надежно, но вроде работает.
PM MAIL   Вверх
kanaris
Дата 31.5.2011, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 16.2.2008

Репутация: нет
Всего: -1



так если фрейм будет на другом домене, работать не будет
PM MAIL   Вверх
Котокобра
Дата 1.6.2011, 02:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 26.11.2009

Репутация: нет
Всего: 4



kanaris, как это не будет? ты его открываешь во фрейме как текст. все равно, что в адресной строке браузера набрать полный путь к скрипту.
PM MAIL   Вверх
kanaris
Дата 1.6.2011, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 16.2.2008

Репутация: нет
Всего: -1



Фрейм то работать будет! А вот доступ к его Dom-дереву будет невозможен. Выскочит ошибка access denied (попробуй сам)
PM MAIL   Вверх
Котокобра
Дата 1.6.2011, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 26.11.2009

Репутация: нет
Всего: 4



kanaris, давай попробую, скинь код.
PM MAIL   Вверх
kanaris
Дата 1.6.2011, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 16.2.2008

Репутация: нет
Всего: -1



пробуй

Код

<iframe id="test" src="http://example.com"></iframe>
<script type="text/javascript">

function checkIframe(){
    alert(document.getElementById('test').contentWindow.document.body.innerHTML);
}

</script>
<button onclick="checkIframe();">click me</button>

PM MAIL   Вверх
Котокобра
Дата 7.6.2011, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 26.11.2009

Репутация: нет
Всего: 4



kanaris, 
ты был прав(
PM MAIL   Вверх
fidres
Дата 8.6.2011, 07:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 15.11.2006

Репутация: нет
Всего: 1



чё-т ваще не вкурил.
советую попользоваться старыми версиями обозревателей (где нет защиты от XSS на стороне клиента).
(в принципе, как и старой какой-нибудь операционкой, умеющей доставать что-то через тырнет...)
--------------------
Исправьте ошибку в слове <ХЕРОШО> и я скажу Вам оптимист Вы или пессимист.
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0492 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.