2

我一直在寻找几个小时,但没有找到解决方案。希望您能提供帮助。

我想在 iframe 中获取父页面的名称和路径。这样做的原因是为了防止 iframe 内的页面显示在其预期位置之外。如果我能得到父页面的会话变量,那就更好了,因为我可以验证用户。

Iframe 将使用 ASP.NET 编写,而父页面是 PHP。

我找到了可能有效的 Javascript 代码,但我非常不熟悉 javascript 以及如何将返回值传递给 ASP.NET 中的代码。如果您的解决方案涉及 javascript,我将需要从在表单加载中调用它到取回值的整个过程。

我已经尝试过这些功能,但它们没有显示我需要什么。

Request.Url.AbsoluteUri.ToString
Request.ApplicationPath.ToString
Request.UrlReferrer.AbsolutePath.ToString

谢谢

4

1 回答 1

1

我了解您正在寻找解决方案和重定向背后的代码,但后面的代码无法识别页面是否是从其他页面调用的。

您可以尝试,Request.ServerVariables["HTTP_REFERER"]但这可能会出错,甚至可能被某些用户禁用或更改。

使用 javascript 的一个简单可行的解决方案是检查 iframe 本身是否在您的母版页内。因此,此代码转到位于 iframe 内的页面,如果仅看到它,则将用户重定向回母版页。

<script type="text/javascript" language="javascript">
    // this line is check if its inside an iframe.
    // if top==self then is not in iframe
    if(top == self)
    {
        alert("This page can not be viewed alone, please press ok to load the master page");
        top.location.replace("MasterPage.aspx");
    }
</script>
于 2013-02-21T03:28:58.733 回答