Мне нужно получать уведомления, когда пользователь нажимает ссылку на странице в iframe, которая не принадлежит к одному домену. Я знаю ограничения xss, однако все, что мне нужно знать, это текущая страница, которая будет использоваться в iframe. Есть ли способ сделать это без нарушения правил xss?
Получение текущего src iframe с использованием JQuery
Ответ 1
Если не для ограничений межсайтового скриптинга, это должно сработать. К сожалению, я не знаю, как получить URL-адрес, не нарушая эти ограничения.
<html>
<head>
<script type="text/javascript">
function GetIFrameUrl()
{
alert('url = ' + document.frames['frame1'].location.href);
}
</script>
</head>
<body>
<a href="#" onclick="GetIFrameUrl();">Find the iFrame URL</a>
<iframe name="frame1" src="http://www.google.com" width="100%" height="400"></iframe>
</body>
</html>
Ответ 2
Чтобы получить местоположение iframe с помощью jQuery:
alert( $('iframeId').contents().get(0).location.href );
Ответ 3
Вы можете легко сделать это с помощью vanilla js.
- Запросить документ для элемента с конкретным именем, id, классом или любым другим
-
Получить источник атрибута для этого элемента
//Get by Id var frame_src = document.getElementById('myIframe').src //Get by tag name - get the first var frame_src = document.getElementsByName('frmExternal')[0].src //Alert alert(frame_src)
Ответ 4
<script type="text/javascript"> // if window open in iframe then redirect to main site
if(window.top.location != window.self.location)
{
alert(window.self.location);
// top.window.location.href = window.self.location;
}
</script>