Как получить содержимое из перекрестного домена iframe

Есть ли способ получить содержимое из iframe через php/jQuery или JavaScript? Я хочу получить URL-адрес, когда пользователь нажимает ссылку на iFrame и ее название.

2 ответа

Из произвольных URL-адресов? Нет.

Из URL-адресов, которыми вы управляете? Да, в современных браузерах.

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

top.postMessage({ url: location.href }, "*");

и

window.addEventListener("message", receiveMessage, false);
function receiveMessage(evt) {
 alert(event.data.url);
}


Вы не можете этого сделать из-за потенциальных проблем безопасности.

Вместо этого я предложил бы найти другой способ разрешить пользователям отправлять данные на ваш сайт из другого места, например, использовать букмарклет.

Буклет-буклемент - это в основном фрагмент javascript, который можно сохранить как закладку в своем браузере - они могут затем щелкнуть эту закладку на другом веб-сайте, чтобы запустить ваш код (что делает что угодно).

Создание букмарклета

licensed under cc by-sa 3.0 with attribution.