ユーザーが同じドメインに属していないiframe内のページのリンクをクリックするたびに通知を受け取る必要があります。私はxssの制限を認識していますが、私が知る必要があるのは、iframeで提供されている現在のページだけです。 xssルールに違反せずにこれを行う方法はありますか?
クロスサイトスクリプティングの制限がなければ、これでうまくいくはずです。残念ながら、これらの制限に違反せずに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>
JQueryを使用してiframeの場所を取得するには:
alert( $('iframeId').contents().get(0).location.href );
あなたは簡単にそれをバニラjsで行うことができます。
その要素の属性のソースを取得します
//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)
<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>