2010-12-06 11 views
0

私はタグを使用しているページが1つあります。このiframeのソースとして、私は1つの外部webappを渡しています。このアプリケーションがロードされると、ホームページには、アプリケーションがフレーム内または親ウィンドウ内にロードされているかどうかをチェックするコードがあります。それが親ウィンドウにない場合、それは親ウィンドウへの参照を取得しており、親ウィンドウにそれ自身を表示するように位置を変更します。 私はこのWebアプリケーションを制御できないので、ホームページを変更できません。親ウィンドウの場所を変更するためにこのアプリケーションを停止できる回避策がありますか?ここで私が使用しているサンプルコードです。私は内部webappのURLを与えることはできません。変更msg "test"が表示される前に、webappは親ウィンドウの場所を変更しています。iframe内のWebアプリケーションが親ウィンドウの場所を変更します

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
<title>Example</title> 
<style type="text/css"> 
</style> 
<script type="text/javascript"> 
// <![CDATA[ 
window.onload = function() 
{ 
    alert('test'); 
    //frames["my_iframe"].onload = function() 
    //{ 
     //alert("hey"); 
    //} 
    //this also works for me: 
    document.getElementById("my_iframe").onload = function() 
    { 
     alert("hey"); 
    } 
    } 
// ]]> 
</script> 
</head> 
<body> 
Testing iframe....<br> 
<iframe name="my_iframe" id="my_iframe" src="http://mywebapp.com" width="100%" height="100%" ></iframe> 

</body> 
</html> 

答えて

1

あなたが原因のセキュリティ機構に任意の近代的なブラウザでXSSやクロスサイトスクリプティングと呼ばれるものをやろうとしている、とされ、明白な理由のために、不可能にしています。

+0

...回避について囲まれて(あなたがについて話Webアプリケーションが行うように)が、最後に任意のページをフレームにする方法があるように思われます内側のWebアプリケーションを停止して親ウィンドウの位置を変更します。 – user509755

+0

私はあなたが運が悪いと恐れています。現代のブラウザでは、別のドメインからスクリプトの動作を変更することは不可能です。 –

0

この記事では、この問題について説明し、「解決策」を提供しています。

We Done Been ... Framed!

それは実際に私がしたいすべてがある

関連する問題