【发布时间】:2013-01-27 17:05:34
【问题描述】:
我正在尝试将菜单的位置设置在动态生成高度的滑块下方,因此我使用imagesloaded 最后加载我的 jquery,并且在每个浏览器中一切都很好,除了 safari 检索在后端设置的滑块的高度,而不是根据页面大小动态生成的图像的高度。这仅在野生动物园中发生.... 这是定位菜单的javascript:
$.browser.safari = ($.browser.webkit && !(/chrome/.test(navigator.userAgent.toLowerCase())));
if ($.browser.safari) {
$(window).load(function () {
var $container = $('.ls-wp-fullwidth-container');
$container.imagesLoaded(function () {
var height = $(".ls-wp-fullwidth-container").height() - 50;
$(".menu_wrap").css('top', height);
});
});
} else {
$(window).load(function () {
var $container = $('.ls-wp-fullwidth-container');
$container.imagesLoaded(function () {
var height = $(".ls-wp-fullwidth-helper").height();
$(".menu_wrap").css('top', height);
});
});
}
$(window).resize(function () {
var height = $(".ls-wp-fullwidth-container").height() + 40;
$(".menu_wrap").css('top', height);
});
正在使用的滑块是任何滑块我正在使用名为 cleanspace 并运行 wordpress 3.5.1 的主题森林主题。
我试过用$(window).bind("load",function(){最后加载jquery和$.browser.safari = ($.browser.webkit && !(/chrome/.test(navigator.userAgent.toLowerCase())));
if ($.browser.safari) {
检测在 pc 上运行良好但在 mac 上失败的浏览器,所以我留下了粘贴在这里的第一个代码,并等待任何关于诱饵呼吸的帮助。
注意:如果 safari 会在滑块图像之后加载我的 jQuery,则不需要此处的 if 语句...
【问题讨论】:
-
作为旁注,我相信 $.browser 实际上已被弃用,很可能是因为使用它被认为是一个糟糕的主意?
-
谢谢@adeneo,我确实注意到了,我也试过
if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1) {alert('Its Safari');}
标签: javascript jquery