javascript
  • asp.net
  • 2011-10-27 33 views 1 likes 
    1

    我有一些谷歌加一分的JavaScript在我.ASCX文件:ASP.NET - 如何隱藏IE瀏覽器的JavaScript?

    <script type="text/javascript"> 
        (function() { 
         var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; 
         po.src = 'https://apis.google.com/js/plusone.js'; 
         var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); 
        })(); 
    </script> 
    

    我需要隱藏IE7和IE8瀏覽器的代碼,該位。

    這樣做的正確方法是什麼?

    回答

    1

    標記方法

    <% If Not (Page.Request.Browser.Browser.StartsWith("IE", StringComparison.OrdinalIgnoreCase) AndAlso Page.Request.Browser.MajorVersion < 9) Then%> 
    This is either Not IE, or IE 9 or greater<br /> 
    <% end if %> 
    

    代碼隱藏方法

    只是把裏面的腳本佔位符&設置其知名度真/假。使用以下功能在asp.net中檢測瀏覽器。

    public static bool IsIE(Page page) 
    { 
        if (page != null && page.Request != null && page.Request.Browser != null) 
        { 
        return page.Request.Browser.Browser.StartsWith("IE", StringComparison.OrdinalIgnoreCase) && (page.Request.Browser.MajorVersion == 7 || page.Request.Browser.MajorVersion == 8); 
        } 
    
        return false; 
    } 
    
    +0

    這不是一個可靠的方式來做事情。許多瀏覽器都具有「模擬」IE併發送IE用戶代理字符串的模式。這也會隱藏他們的代碼。 –

    +0

    如果他們想模仿IE8或IE7,那麼我不認爲他們應該看到隱藏在IE8或IE7中的代碼。 –

    +0

    另外,退後一步,你爲什麼試圖從IE 7和8用戶隱藏這些東西? – SoWeLie

    2

    有很多方法可以做到這一點,如果你已經包括jQuery,你可以使用它的瀏覽器嗅探函數。另一種選擇是你可以使用IE條件註釋:http://msdn.microsoft.com/en-us/library/ms537512%28v=vs.85%29.aspx

    0
    <!--[if !(IE 7)&!(IE 8)]> 
    You are not using IE7 or IE8 
    <![endif]--> 
    
    +0

    「您沒有使用IE7或IE8」不會在Firefox,Chrome或Safari上呈現。我相信用這種方法,我的代碼必須包含腳本兩次。參考:http://www.quirksmode.org/css/condcom.html –

    相關問題