Я работаю над веб-приложением ASP.NET. На странице счета есть две ссылки на разные pdf-файлы одного и того же счета. Когда вы нажимаете на одну из ссылок, вы попадаете на страницу ViewPDF.aspx, на которой отображается pdf. Также есть возможность просмотра обоих в разделенном экране, чтобы вы могли сравнить их. Когда вы нажмете на эту ссылку, вы попадете на BillSplit.aspx, у которого есть набор фреймов и два кадра, которые указывают на ViewPDF.aspx. Все это прекрасно работает.Обнаружение и закрытие фреймов с помощью Javascript
Проблема в том, что при возникновении ошибки при подтягивании pdf. Приложение имеет страницу с ошибкой, содержащую несколько ссылок в приложение. Если вы используете один из них, вы можете вернуться в приложение и продолжить, но теперь внутри фрейма. URL-адрес все еще говорит BillSplit.aspx, но приложение полностью не знает об этом, поскольку фреймы представляют собой элементы HTML, а не элементы управления asp.net.
Что бы я хотел сделать в этот момент, это обнаружить, что вы вернулись в приложение и закрыли рамку, которую вы не используете. По сути, я бы хотел перенаправить вас из BillSplit.aspx и на страницу, которую вы действительно запрашиваете. Я уверен, что это нужно сделать в Javascript либо на странице BillSplit, либо на страницах, которые вы переходите позже.
Так я догадываюсь, что я спрашиваю, есть ли способ убедиться, что страница BillSplit.aspx и два кадра указывают только на ViewPDF.aspx? Благодаря!
Я отработал то, что вы сказали, и вот что я придумал: if (top.window.location.pathname! = Window.location.pathname && window.location.pathname! = "/ViewPDF.aspx") { top.window.location = window.location; } Кажется, что он отлично работает, если разместить на каждой странице, я не хочу, чтобы кадры шли. – Peter