我必须根据用户代理是iPad还是其他加载不同的样式表。我知道,通常来说,检测浏览器并不是最理想的主意,并且可能会在将来的某个时候削弱我们的可维护性。不是我的决定。

因此,这里有一些JavaScript可用来检测用户代理。它不起作用。我可能误会了一些东西。我遇到的错误是红色鲱鱼(对象引用),但仅在执行JavaScript时显示。

    $(document).ready(function () {
        alert('ready fired');
        if (navigator.userAgent.indexOf("iPad") != -1) {
            //alert('bleep bloop blop...iPad detected');
            var stringToWrite = '<script src=\'\<\%\= ResolveUrl("~/Scripts/iscroll.js") \%\>\' type="text/javascript"><\/script>';
            stringToWrite += '<link href=\'\<\%\= ResolveUrl("~/Stylesheets/scrollbar.css") \%\>\' rel="stylesheet" type="text/css" \/>';
            stringToWrite += '<link href=\'\<\%\= ResolveUrl("~/Stylesheets/iPadCommon.css") \%\>\' rel="stylesheet" type="text/css" \/>';
            alert(stringToWrite);
            document.write(stringToWrite);
        }
        //else
        //alert('bleep bloop blop...who cares browser');
    });

最佳答案

您可能应该考虑在服务器端检测代理,否则它不适用于禁用了javascript的浏览器。

10-08 04:24