gpt4 book ai didi

javascript - 返回浏览器时,modernizr 没有被调用

转载 作者:行者123 更新时间:2023-11-28 08:44:24 24 4
gpt4 key购买 nike

我在使用移动网站时发现 modenizr 出现奇怪的行为。如果我回去使用浏览器,我似乎永远无法使用 Modenizr 实现完整的功能。它最初被调用,但是当查看另一个页面然后单击后退按钮时,它不会被调用。是否发生了某种我需要覆盖的缓存?

我只在第一次加载页面时看到“初始化应用程序”。

jquery:

 $(document).ready(function() {

console.log("Loading Main...");

loadMain();


function loadMain() {

console.log("Calling modenizr");

Modernizr.load([
{
load: [
'http://localhost/js/main-test.js'
],
complete: function()
{
$.fn.ready(function()
{
window.App.init();

});
}
}
]);
}
});

main-test.js

(function(window, document, undefined) {

var transformProp = window.Modernizr.prefixed('transform'),
transitionProp = window.Modernizr.prefixed('transition'),
transitionEnd = (function() {
var props = {
'WebkitTransition' : 'webkitTransitionEnd',
'MozTransition' : 'transitionend',
'OTransition' : 'oTransitionEnd otransitionend',
'msTransition' : 'MSTransitionEnd',
'transition' : 'transitionend'
};
return props.hasOwnProperty(transitionProp) ? props[transitionProp] : false;
})(),

hasTT = transitionEnd && transitionProp && transitionProp;

var log = function(obj)
{
if (typeof window.console === 'object' && typeof window.console.log === 'function') {
window.console.log(obj);
}
};

window.App = (function()
{

console.log("Inititializng app");

var _init = false, app = { };

app.init = function()
{

if (_init) {
return;
}
_init = true;


app.win = $(window);
app.docEl = $(document.documentElement);
app.bodyEl = $(document.body);

app.docEl.addClass('js-ready js-' + (hasTT ? 'advanced' : 'basic'));

var menuLinkEl = $('#menu-link'),
menuEl = $('#menu'),
wrapEl = $('#wrap');

var closeMenu =function()
{
if (hasTT) {
menuEl.one(transitionEnd, function(e) {
app.docEl.removeClass('js-offcanvas');
});
} else {
app.docEl.removeClass('js-offcanvas');
}
app.docEl.removeClass('js-menu');
};

var openMenu = function()
{
app.docEl.addClass('js-offcanvas js-menu');
};

menuLinkEl.on('click', function(e)
{
console.log("Clicked");

if (app.docEl.hasClass('js-menu')) {
closeMenu();
} else {
openMenu();
}
e.preventDefault();
});



};

return app;

})();

})(window, window.document);

最佳答案

添加带有空函数的 onunload body 属性来修复它。

关于javascript - 返回浏览器时,modernizr 没有被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20051435/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com