Всегда хотел уведомить клиентов / пользователей вашего сайта, пока они работают на вашем сайте. В одном из приложений, которые я помогал построить, это было требование заказчика. Таким образом, в прошлом вы могли реализовать мигающее поведение, при котором значок браузера будет мигать. На мой вкус не очень удобное поведение. С IE9 вы теперь можете использовать новое поведение javascript SiteMode Overlay Icon, которое является частью функции закрепления сайта .
API Overlay Icon
Overlay Icon API включает два простых метода:
- msSiteModeSetIconOverlay — метод позволяет передавать оповещения, уведомления и статусы пользователям сайта, добавляя значок поверх существующего значка веб-сайта. Метод принимает два параметра — URL-адрес изображения и значение всплывающей подсказки.
- msSiteModeClearIconOverlay — метод очищает любой существующий значок наложения.
Обратите внимание, что это поведение будет работать только на закрепленном сайте, поэтому перед использованием этих методов проверьте, находится ли сайт в SiteMode .
Значок наложения в действии
Когда следующая страница загружена в закрепленный сайт, результатом будет значок наложения поверх закрепленного значка сайта :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head runat="server"> <title>My application</title> <link href="~/Styles/Site.css" rel="stylesheet" type="text/css" /> <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" /> <meta name="application-name" content="My Application" /> <meta name="msapplication-tooltip" content="My Application" /> <meta name="msapplication-starturl" content="./" /> <meta name="msapplication-task" content="name=My Blog;action-uri=http://blogs.microsoft.co.il/blogs/gilf;icon-uri=/favicon.ico" /> <meta name="msapplication-task" content="name=My Linkedin Profile;action-uri=http://il.linkedin.com/in/gilfink;icon-uri=http://www.linkedin.com/favicon.ico" /> <script type="text/javascript"> window.external.msSiteModeSetIconOverlay('/info.ico', 'Attention Needed'); </script> </head> <body> <form> <div class="page"> <div class="header"> <div class="title"> <h1> My ASP.NET Application </h1> </div> <div class="loginDisplay"> <asp:LoginView ID="HeadLoginView" runat="server" EnableViewState="false"> <AnonymousTemplate> [ <a href="~/Account/Login.aspx" id="HeadLoginStatus" runat="server">Log In</a> ] </AnonymousTemplate> <LoggedInTemplate> Welcome <span class="bold"> <asp:LoginName ID="HeadLoginName" runat="server" /> </span>! [ <asp:LoginStatus ID="HeadLoginStatus" runat="server" LogoutAction="Redirect" LogoutText="Log Out" LogoutPageUrl="~/" /> ] </LoggedInTemplate> </asp:LoginView> </div> <div class="clear hideSkiplink"> <asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal"> <Items> <asp:MenuItem NavigateUrl="~/Default.aspx" Text="Home" /> <asp:MenuItem NavigateUrl="~/About.aspx" Text="About" /> <asp:MenuItem NavigateUrl="~/IconOverlay.aspx" Text="Icon Overlay" /> <asp:MenuItem NavigateUrl="~/msPerformance.aspx" Text="msPerformance" /> </Items> </asp:Menu> </div> </div> <div class="main"> <input type="button" value="Remove Icon Overlay" onclick="window.external.msSiteModeClearIconOverlay();" /> </div> <div class="clear"> </div> </div> <div class="footer"> </div> </form> </body> </html>
Результат выполнения этого кода может выглядеть следующим образом: полная страница может выглядеть следующим образом: и при нажатии кнопки «Удалить значок наложения» она удалит значок добавленной информации.
Резюме
IE9 предоставляет новый способ уведомления пользователей о том, что происходит на веб-сайтах / в приложениях. Использование простого, но мощного API наложения значков на закрепленных сайтах может сделать ваш веб-сайт / приложение более удобным для пользователя и более привлекательным.