2012-01-07 3 views
5

У меня есть iframe в моем веб-приложении, и мне нужно получить его текущий url из родительского документа (также когда пользователь перемещает фрейм и меняет исходный URL-адрес источника).Получение iframe текущего src url в перекрестном домене

Url необходимо просто для того, чтобы поделиться им.

Как междоменный сценарий, я не являюсь дочерним документом (его удаленным доменом).

Мне известно о политике одного и того же происхождения, которая предотвращает доступ к перекрестному домену от родительского документа к дочернему, но я ищу решение с помощью любого творческого средства, возможно, должно быть.

+0

Подобные epascarello, он также запрашивает способ без IFRAME. Предложения не все совместимы с кросс-браузером, они не работают правильно, - сказал парень, - и немного устарели. – Fallouturama

+0

Также он уделяет больше внимания серверному решению, я предпочитаю находить клиентскую сторону. – Fallouturama

+0

Вы не можете получить URL-адрес, есть эта вещь SECURITY, которая ее предотвращает. Если вы хотите быть «социальным», вам нужно будет разработать плагин для браузера, который может обойти его. Кроме этого, вы не можете его прочитать. – epascarello

ответ

0

Если вы не контролируете содержимое iFrame, единственным решением является создание прокси-сервера, который вводит следующую строку кода на каждую страницу.

window.postMessage(window.location,'*'); 

Затем на родительской странице вы можете прослушать сообщение.

window.addEventListener("message", receiveMessage, false); 

function receiveMessage(event) { 
    console.log(event.data); 
} 
+0

Если я использую прокси-сервер, тогда домен может быть таким же, как и мой сайт. Тогда я мог бы получить доступ к iframe, не так ли? –

+0

Это правильно –

Смежные вопросы