подавлять политику того же происхождения - PullRequest
1 голос
/ 18 ноября 2009

У меня есть «панель инструментов», которая отображает некоторый код в верхней части окна, а затем я загружаю iframe с внешнего сайта. Я понимаю, что не могу получить активную ссылку, на которой находится пользователь, потому что это будет нарушением той же политики происхождения.

Есть ли способ (возможно, с помощью greasemonkey?), Чтобы я мог получить активный URL внешнего iframe?

Мне нужно сделать это для демонстрационных целей, а не для чего-либо практического. (Я понимаю, что реальным решением было бы обработать всю страницу через мой собственный сервер)

Спасибо!

1 Ответ

0 голосов
/ 19 ноября 2009

Я опубликую решение, которое я написал: Если вы устанавливаете greasemonkey, напишите скрипт, который делает (примерно) что-то вроде этого:

current_link = document.location.href;
if(current_link !== 'http://my_local_site')
{
   GM_setVal("link", current_link); }

Пусть greasemonkey запустит этот скрипт по URL-адресу вашего iframe, локальному сайту и сайту iframe. GM сохранит в своей внутренней памяти ссылку. Если вы не запускаете оператор IF, вы, вероятно, читаете скрипт с локального сайта, поэтому вам нужно:

unsafeWindow.urlVal = GM_getVal("link");

Все, что вам нужно сделать сейчас, это получить и локальный фрейм и фрейм iframe для запуска скрипта каждый раз, когда страница перемещается в фрейме. Вы можете сделать это на вашем локальном кадре, а) синхронизировав его; б) используя какой-либо тип триггера событий. Желаем удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...