Подключение скрипта с другого домена
Все вы наверное слышали про same-origin policy.
Вот и я слышал, и думал, что загрузив скрипт с другого домена при помощи <script src="... нельзя получить доступа к документу, в котором было сделано это подключение. Но все таки я решил проверить. И каково было мое удивление, когда я не обнаружил никакого ограничения. Ни в одном браузере, в котором я тестировал. Посмотрите сами. Документ http://lingcom.ru/i.htm, который подключает скрипт http://http11.ru/j.js с другого домена. Для чистоты эксперимента я даже разместил эти файлы на разных хостингах, так что отличаются даже IP. Надо кликнуть на ссылку или отправить форму (можно даже кликнуть справа от формы) и вы увидите alert() с соответствующими данными. Содержимое скрипта тривиально. Я регистрирую куда ушел посетитель, если он сделал это посредством ссылки или отправки формы. Я вешаю обработчик события на весь документ и отлавливаю клики, читая href. Так же я вешаю обработчик события на все формы и отлавливаю onsubmit, читая параметры method и action. document.onclick = event_target; // в IE событие onsubmit не всплывает for ( var i = 0; i < document.forms.length; ++i ) document.forms[i].onsubmit = event_target; function event_target( e ) { if ( e ) var target = e.target; else var target = window.event.srcElement; if ( typeof target.action != 'undefined' ) alert( target.method +':'+ target.action ); else if ( typeof target.href != 'undefined' ) alert( target.href ); } В чем дело? А как же same-origin policy? |
Mikee,
Чот вы слышали звон, но не про то Нельзя получить доступ к контенту с иного домена с текущего скрипты и стили css(к примеруот гугла) - часто загружают с того же гугла на сайт Скрипт и css запросто получают доступ к контенту текущего сайта... |
Часовой пояс GMT +3, время: 02:44. |