【发布时间】:2013-03-21 21:38:48
【问题描述】:
我想在桌面浏览器而不是移动浏览器中加载特定的 jQuery 脚本/函数。目前,该脚本在移动浏览器上运行速度很慢,但在桌面浏览器上运行良好。
有问题的功能是一个平滑滚动插件,当用户点击一个链接时,页面平滑滚动到同一页面上的锚点。它没有必要在移动浏览器上流畅滚动——它太慢了,而且经常不起作用。
我需要在下面的代码中添加什么以确保它在桌面浏览器中仍能正常执行,但不能在移动设备(尤其是 iPad/iPhone/iPod)中执行?
<script>!window.jQuery && document.write(unescape('%3Cscript src="js/lib/jquery/jquery.js"%3E%3C/script%3E'));</script>
<script src="js/css_browser_selector.js"></script>
<script src="js/src/jquery.smooth-scroll.js">
</script>
<script src="js/lib/jquery.ba-bbq.js"></script>
<script>
$(document).ready(function() {
$('a[href*="#"]').live('click', function() {
if ( this.hash ) {
$.bbq.pushState( '#/' + this.hash.slice(1) );
return false;
}
});
$(window).bind('hashchange', function(event) {
var tgt = location.hash.replace(/^#\/?/,'');
if ( document.getElementById(tgt) ) {
$.smoothScroll({scrollTarget: '#' + tgt});
}
});
$(window).trigger('hashchange');
});
</script>
【问题讨论】:
-
在服务器而不是客户端上做。检查用户代理并决定是否添加脚本。
标签: jquery