Обнаружение и закрытие кадров с помощью Javascript - PullRequest
0 голосов
/ 16 июля 2010

Я работаю над веб-приложением ASP.NET. Есть страница счета, которая имеет две ссылки на разные PDF-файлы одного и того же счета. Когда вы нажимаете на одну из ссылок, вы переходите на страницу ViewPDF.aspx, на которой показан файл PDF. Существует также возможность просмотра обоих на разделенном экране, чтобы вы могли сравнить их. Когда вы нажимаете на эту ссылку, вы попадаете на BillSplit.aspx, который имеет набор фреймов и два фрейма, оба из которых указывают на ViewPDF.aspx. Это все работает отлично.

Проблема заключается в том, что если во время извлечения файла PDF возникает ошибка. Приложение имеет страницу с ошибкой, на которой есть несколько ссылок обратно в приложение. Если вы используете один из них, вы можете вернуться в приложение и продолжить, но теперь внутри фрейма. В URL все еще написано BillSplit.aspx, но приложение об этом не знает, поскольку фреймы - это элементы HTML, а не элементы управления asp.net.

На этом этапе я хотел бы обнаружить, что вы вернулись в приложение, и закрыть кадр, который вы не используете. По сути, я бы хотел перенаправить вас из BillSplit.aspx на страницу, которую вы на самом деле запрашиваете. Я почти уверен, что это нужно будет сделать в Javascript на странице BillSplit или на страницах, на которые вы переходите позже.

Итак, я предполагаю, что я спрашиваю, есть ли способ обеспечить, чтобы страница BillSplit.aspx и ее два кадра указывали только на ViewPDF.aspx? Спасибо!

1 Ответ

0 голосов
/ 16 июля 2010

если страница и фреймы внутри фреймов находятся в одном домене.

вы можете зарегистрировать скрипт запуска, когда попадете на страницу с ошибкой.

что будет скриптdo это что-то вроде проверки, находится ли он внутри фрейма с чем-то вроде top.document, если это так, вы можете затем перенаправить в клиенте на другую нужную страницу.или даже на страницу ошибки.таким образом он не будет отображаться внутри фреймов.

это поможет?

...