Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 使用Javascript检测和关闭帧_Asp.net_Javascript_Html_Frameset_Html Frames - Fatal编程技术网

Asp.net 使用Javascript检测和关闭帧

Asp.net 使用Javascript检测和关闭帧,asp.net,javascript,html,frameset,html-frames,Asp.net,Javascript,Html,Frameset,Html Frames,我正在开发一个ASP.NET web应用程序。有一个账单页面,有两个链接指向同一账单的不同PDF。当您单击其中一个链接时,它会将您带到显示pdf的ViewPDF.aspx页面。还有一个选项可以在分割屏幕中查看这两个选项,以便您可以比较它们。当您单击此链接时,将进入BillSplit.aspx,它有一个框架集和两个框架,两个框架都指向ViewPDF.aspx。这一切都很完美 问题是,如果在提取pdf时发生错误。应用程序有一个错误页面,其中有一些链接返回到应用程序。如果您使用其中一个,您可以返回应用

我正在开发一个ASP.NET web应用程序。有一个账单页面,有两个链接指向同一账单的不同PDF。当您单击其中一个链接时,它会将您带到显示pdf的ViewPDF.aspx页面。还有一个选项可以在分割屏幕中查看这两个选项,以便您可以比较它们。当您单击此链接时,将进入BillSplit.aspx,它有一个框架集和两个框架,两个框架都指向ViewPDF.aspx。这一切都很完美

问题是,如果在提取pdf时发生错误。应用程序有一个错误页面,其中有一些链接返回到应用程序。如果您使用其中一个,您可以返回应用程序并继续,但现在在框架内。URL仍然显示BillSplit.aspx,但应用程序完全不知道这一点,因为框架是HTML元素而不是asp.net控件

此时,我想做的是检测您是否已返回到应用程序并关闭不使用的框架。基本上,我想将您从BillSplit.aspx重定向到您实际请求的页面。我非常确定这需要在BillSplit页面或稍后转到的页面上用Javascript完成


所以我想问的是,有没有办法确保BillSplit.aspx页面和它的两个帧只指向ViewPDF.aspx?谢谢

如果页面和框架内的框架都在同一个域上

您可以在进入错误页面时注册启动脚本

脚本将要做的是检查他是否在一个框架内 使用类似top.document的内容,如果确实如此,则可以 将客户端重定向到所需的其他页面。 或者甚至到错误页面。 这样它就不会显示在框架内


这会有帮助吗?

我仔细研究了你说的话,下面是我得出的结论:if top.window.location.pathname!=window.location.pathname&&window.location.pathname!=/ViewPDF.aspx{top.window.location=window.location;}如果把它放在我不想让框架进入的每一页上,它似乎工作得很好。