iframe中的Web应用程序更改父窗口位置

时间:2010-12-06 16:11:52

标签: javascript html

我有一个页面,我正在使用标签。作为这个iframe的来源,我正在传递一个外部webapp。现在,当这个应用程序加载时,它的主页上有代码,用于检查应用程序是在框架内还是在父窗口中加载。如果它不在父窗口中,那么它将获得对父窗口的引用并以这样的方式更改位置,使其在父窗口中显示。 现在我无法控制这个Web应用程序,所以我无法更改它的主页,有没有解决方法,我可以停止此应用程序来更改它的父窗口位置。这是我正在使用的示例代码。我无法提供内部webapp的URL。在我看到alter msg“test”之前,webapp正在改变父窗口的位置。

<!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>

2 个答案:

答案 0 :(得分:1)

您正在尝试执行所谓的XSS或跨站点脚本编制,并且出于显而易见的原因,由于安全机制,在任何现代浏览器中都是不可能的。

答案 1 :(得分:0)

本文讨论这个问题并提供一个“解决方案”,可以这么说。

We Done Been ... Framed!

它实际上是关于避免陷害(正如你所谈论的webapp那样),但最后似乎有一种方法来构建任何页面......