2013-11-13 5 views
0

Я унаследовал сайт DotNetNuke, который показывает модальное всплывающее окно при нажатии на ссылку «Регистрация списка рассылки»: <a href="/JoinMailingList.aspx" class="JoinMailingList">Join Mailing List</a>. Однако на веб-сайте нет файла JoinMailingList.aspx. Однако ссылка работает (хотя и неправильно: всплывающее окно занимает весь экран, а не появляется над надписью «). Ссылка идет на следующий код JQuery, но после появления всплывающего сообщения:Ссылка на несуществующий файл .aspx работает-почему?

$(".JoinMailingList").click(function (e) { 

    e.preventDefault(); 
    $(".ModalBody .Notification").remove(); 
    $(".ModalMask").fadeTo("fast", 0.5); 
    $("#MailingListForm").show("fast"); 

}); 

Видимо гиперссылка использует «фальшивое» JoinMailingList.aspx сделать всплывающее окно, но как?

+2

Вы можете перехватить событие щелчка на что угодно и обрабатывать его, как хотите. (Очень часто предотвращает обычную навигацию браузера.) Это включает ссылку, указывающую на что угодно. Это включает ссылку, указывающую на страницу, которая не существует. (Не обязательно хорошая практика: было бы лучше, если бы эта страница действительно существовала, для мифических «людей с отключенным Javascript» и для гораздо менее мифических «людей, которые открывают ссылки на новой вкладке».) – millimoose

+1

Забудьте существование «JoinMailingList.aspx», это может быть «GoHome.aspx», и он будет делать то же самое. Эта часть ссылки игнорируется. Все, что происходит, - это элемент с идентификатором «id =» MailingListform », который отображается при нажатии на этот якорь. –

ответ

1

URL-адрес перезаписи DNN будет искать имя страницы и попытаться найти соответствующую запись в таблице TABS. Если вам нужно найти эту страницу, вы можете перейти на страницу администрирования/страницы, чтобы попытаться ее найти.

Смежные вопросы