Я использую Visual Studio 2008 и .NET 3.5
Я создал метод javascript (window.unbeforeload) с помощью javascript, чтобы дать пользователям сообщение при попытке выйти из сайта.К сожалению, одно и то же сообщение отображается каждый раз, когда пользователь щелкает ссылку, которая не перенаправляет за пределы сайта.
Решение: позволить jquery обрабатывать все щелчки по ссылкам внутри сайта.Но это не работает.
<asp:Content ID="ContentHead" ContentPlaceHolderID="head" runat="server">
<script type="text/javascript" src="HTML/jquery.js"></script>
<script type="text/javascript">
$(document).live('click',function() {
$("a").click(function() {
alert("Hello world!");
});
});
</script>
// множество других функций
<script type="text/javascript">
window.onbeforeunload = function() {
return "REALLY?"
}
</script>
</asp:Content>
Здесь я попытался сделать любой щелчок по ссылке внутри сайта, чтобы создать предупреждение, но безуспешно.
Как заставить Jquery работать в моем приложении?
Sideinfo: я убедился, что файл jquery существует в HTML / jquery.js, но, несмотря на это,Visual Studio 2008 выдает предупреждение о том, что файл не найден.Другая страница .aspx с точно таким же путем к файлу jquery не выдает это предупреждение.
ОБНОВЛЕНИЕ:
<%@ Page Language="C#" MasterPageFile="~/Manage/ConceptManager.Master" AutoEventWireup="true" CodeBehind="ConceptManager.aspx.cs" Inherits="DynamicForm.Manage.ConceptManagerPage" %>
<%@ Register src="Controls/Element_MetadataEditor_FieldNode.ascx" tagname="Element_MetadataEditor_FieldNode" tagprefix="uc1" %>
<%@ Register src="Controls/Element_MetadataEditor_TemplateNode.ascx" tagname="Element_MetadataEditor_TemplateNode" tagprefix="uc3" %>
<%@ Register src="Controls/CategoryAttributes.ascx" tagname="CategoryAttributes" tagprefix="usercontrol" %>
<%@ Register Src="Controls/ConfirmDialog.ascx" TagName="DeleteConfirmDialog" TagPrefix="usercontrol" %>
<%@ Register Src="Controls/ConfirmDialog.ascx" TagName="ConfirmDialog" TagPrefix="usercontrol" %>
<%@ Register src="Controls/AddReferenceDialog.ascx" TagName="AddReferenceDialog" TagPrefix="usercontrol" %>
<%@ Register src="Controls/AddIncludeDialog.ascx" TagName="AddIncludeDialog" TagPrefix="usercontrol" %>
<%@ Register Assembly="ExtExtenders" Namespace="ExtExtenders" TagPrefix="ExtExt" %>
<asp:Content ID="ContentHead" ContentPlaceHolderID="head" runat="server">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var mydomain = "mysite.com";
var leavemessage = "Are you sure you wish to leave?";
var filterMySitefunction = function(index) {
return $(this).attr("href").indexOf(mydomain) > -1;
}
var filterOtherSitefunction = function(index) {
return $(this).attr("href").indexOf(mydomain) == -1;
}
$("a").filter(filterMySitefunction).click(function() {
window.onbeforeunload = function() { };
});
$("a").filter(filterOtherSitefunction).click(function() {
window.onbeforeunload = function() {
return leavemessage;
};
});
});
</script>
</asp:Content>