Comments 10
Только window.name — слишком громоздкая техника, требуемая только для IE6-7 и для неё тоже требуются скрипты с 2 сторон фрейма — одна сторона отдаёт текст в name, другая сторона принимает. Этот приём, в document-2 и document-3 у Вас, требуют скриптов внутри страницы. А ниже читаем: «хм… а что postMessage/XMLHttpRequest2/XDomainRequest отменили?» — «Устанавливаем соединения с ресурсами, без установленных на них скриптов». (И где вообще коды в этой статье?)
Так как всё идёт через анонимайзер, то нет вообще проблемы с тем, чтобы залезть в любой фрейм и установить там любой нужный скрипт. Или использовать прямой разбор DOM, или чтение JS — всё, что хотите. Зачем вообще кроссдоменные методы?
Есть способ вообще обойтись без прокси и общаться кроссдоменно из произвольных фреймов, например, Google+-кнопок. Для этого в каждый домен внедряются юзерскрипты для обмена по postMessage и в них пишутся небольшие процедуры. Так, получаем неискажённые анонимайзерами страницы без необходимости подключать сторонние серверы.
Так как всё идёт через анонимайзер, то нет вообще проблемы с тем, чтобы залезть в любой фрейм и установить там любой нужный скрипт. Или использовать прямой разбор DOM, или чтение JS — всё, что хотите. Зачем вообще кроссдоменные методы?
Есть способ вообще обойтись без прокси и общаться кроссдоменно из произвольных фреймов, например, Google+-кнопок. Для этого в каждый домен внедряются юзерскрипты для обмена по postMessage и в них пишутся небольшие процедуры. Так, получаем неискажённые анонимайзерами страницы без необходимости подключать сторонние серверы.
0
spmb написал: window.name — слишком громоздкая техника,Предложите иное для обмена вкладок с разных доменов?(Есть возможжность для новых браузеров через history Api, но отнюдь не быстрее.
spmb написал: Есть способ вообще обойтись без прокси и общаться кроссдоменно из произвольных фреймов, например, Google+-кнопок. Для этого в каждый домен внедряются юзерскрипты
Cуть как раз в том чтобы скриптом сделать полную эмуляцию возможности собственного прокси и как раз не используем внедрения в каждый домен юзерскриптов" (наверно подразумевается заранее), — не ожидаем, а работаем с тем что есть.
0
> Предложите иное для обмена вкладок с разных доменов
--Почему с разных, если анонимайзер делает всё с одного домена? Поэтому обращаемся напрямую через фрейм.
(Точнее, с кроссбраузерными оговорками, как в www.w3schools.com/jsref/prop_frame_contentwindow.asp .)
Вписали свою функцию и выполнили её, когда надо. Совершенно нет смысла и передавать что-то через атрибут name, когда можно напрямую, если только не готовить скрипты для кроссдоменного взаимодействия в IE6-7.
> Cуть как раз в том чтобы скриптом сделать полную эмуляцию возможности собственного прокси
--Тогда это зависит от начальной задачи. Я, например, подумал, что нужна эмуляция доступности всех доменов по CORS, иначе зачем нужно это window.name?
--Почему с разных, если анонимайзер делает всё с одного домена? Поэтому обращаемся напрямую через фрейм.
onload = function(){ var win2 = $(#ид_фрейма).contentWindow;
var win2.myScript = function(){alert('Я из фрейма');}
win2.myScript();
}
(Точнее, с кроссбраузерными оговорками, как в www.w3schools.com/jsref/prop_frame_contentwindow.asp .)
Вписали свою функцию и выполнили её, когда надо. Совершенно нет смысла и передавать что-то через атрибут name, когда можно напрямую, если только не готовить скрипты для кроссдоменного взаимодействия в IE6-7.
> Cуть как раз в том чтобы скриптом сделать полную эмуляцию возможности собственного прокси
--Тогда это зависит от начальной задачи. Я, например, подумал, что нужна эмуляция доступности всех доменов по CORS, иначе зачем нужно это window.name?
0
spmb написал: -Почему с разных, если анонимайзер делает всё с одного домена? Поэтому обращаемся напрямую через фрейм.
Хм — Вы станете пользовацо сайтом, — коли будете засылать всех пользователей не со своего адреса, а с анонимайзер+адрес ?, Суть в том, что процесс для пользователя неявный, всё это в скрытом фрейме frame0 и итог транслируется на главный документ (addr0 (document0) — на нашем родном домене.
Все ухищрения для переноса результата на домен document0.
0
Доступность организуется через
Jumping tabs in frame: Для организации обмена, вкладки с document-2 и document-3 переключаются туда-сюда. Обмен данными между вкладками frame1 производится через window.name.Который связывает домены исходной родительской страницы с доменом анонимайзера.
Во фрейме два документа с разных доменов связаны через window.name.
0
Поправил Oбмен данных, пункт 2. для ясности:
''Обмен данными между вкладками с разных доменов во frame1 производится через window.name.''
''Обмен данными между вкладками с разных доменов во frame1 производится через window.name.''
0
Я, например, подумал, что нужна эмуляция доступности всех доменов по CORS,
Доступны, без эмуляции, — Собственно в статье всё вроде расписано: Есть доступ к любому домену.
Есть исключения с противодействиями антифрейм-скриптов, но они легко обходятся использованием анонимайзеров с настраиваемой блокировкой скриптов: Во frame0, frame1, — ставим анонимайзер с установленным признаком 'без блокировки', в frame2 — с 'блокировкой', (подобное использовал для Drag-and-drop картинок c гуглокартинок.
0
spmb написал: Так, получаем неискажённые анонимайзерами страницы без необходимости подключать сторонние серверы.При анонимайзерах с линейным кодированием ссылок код взятой страницы легко перепарсивается в исходный для данного сайта, хотя имхо обычный смысл работы прокси не взятие именно ссылочного контента, а авторизация и возможность отправлять/принимать и передавать информацию находясь на подгруженном сайте в атоматическом программном режиме.
0
Sign up to leave a comment.
Кроссдоменный обмен: анонимайзер + фрейм