Отсюда: https://developer.mozilla.org/en/Same_origin_policy_for_JavaScript
Такая же политика происхождения не позволяет документу или сценарию, загруженному из одного источника, получать или задавать свойства документа из другого источника.Эта политика восходит к Netscape Navigator 2.0.
и объясняется здесь несколько иначе: http://docs.sun.com/source/816-6409-10/sec.htm
Та же самая политика происхождения работает следующим образом: при загрузкедокумент из одного источника, скрипт, загруженный из другого источника, не может получить или установить определенные свойства конкретного браузера и HTML-объектов в окне или фрейме (см. таблицу 14.2).
Сценарий Facebook не пытаетсявзаимодействовать со скриптом из вашего домена или читать объекты DOM.Он просто собирается сделать свой собственный пост в Facebook.Он получает имя вашего сайта, не взаимодействуя с вашей страницей или сценарием с вашего сайта, а потому, что сам сценарий генерируется, когда вы заполняете форму, чтобы получить кнопку «Мне нравится».Я зарегистрировал сайт с именем "http://www.bogussite.com" и получил код для размещения на своем веб-сайте. Первым делом этот код был
iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.bogussite.com&
, поэтому скрипт явно получает информацию о вашем сайте с помощьюзакодированные параметры URL в ссылке на iFrame.
Сайт Facebook далеко не одинок в том, что вы используете скрипты, размещенные на их серверах. Есть множество других скриптов, которые работают таким образом. Все API GoogleНапример, Google Gears, Google Analytics и т. д. требуют, чтобы вы использовали сценарий, размещенный на их сервере. Только на прошлой неделе, когда я пытался выяснить, как выполнить геолокацию для нашего магазина, для мобильного веб-приложения,Я обнаружил множество сервисов геолокации, в которых вы использовали скрипты, размещенные на их серверах, а не копировали скрипт на ваш сервер.