【发布时间】:2013-02-05 16:25:48
【问题描述】:
所以我有一个脚本可以为首次访问者打开一个气球。当您从 Ipad 访问该网站时,气球会显示一次,然后在 iPhone 上停止,每当您访问链接时它就会一直显示。
我在看代码,气球的东西是由这个控制的:localStorage.setItem
有什么想法吗?谢谢。
下面代码的重要部分:
if ( !lastVisit ) lastVisit = now;
// If it is expired we need to reissue a new balloon
isExpired = isReturningVisitor && lastVisit <= now;
if ( options.hookOnLoad ) w.addEventListener('load', loaded, false);
else if ( !options.hookOnLoad && options.autostart ) loaded();
}
function loaded () {
w.removeEventListener('load', loaded, false);
if ( !isReturningVisitor ) w.localStorage.setItem('addToHome', Date.now());
else if ( options.expire && isExpired ) w.localStorage.setItem('addToHome', Date.now() + options.expire * 60000);
if ( !overrideChecks && ( !isSafari || !isExpired || isSessionActive || isStandalone || !isReturningVisitor ) ) return;
var icons = options.touchIcon ? document.querySelectorAll('head link[rel=apple-touch-icon],head link[rel=apple-touch-icon-precomposed]') : [],
sizes,
touchIcon = '',
closeButton,
platform = nav.platform.split(' ')[0],
language = nav.language.replace('-', '_'),
i, l;
balloon = document.createElement('div');
balloon.id = 'addToHomeScreen';
balloon.style.cssText += 'left:-9999px;-webkit-transition-property:-webkit-transform,opacity;-webkit-transition-duration:0;-webkit-transform:translate3d(0,0,0);position:' + (OSVersion < 5 ? 'absolute' : 'fixed');
【问题讨论】:
-
请发布您的代码!如果我们不知道您如何实施您正在尝试做的事情,我们将无法诊断您的问题。另外,您说的是网站,而不是 iOS 应用程序,对吧?
-
您的实际问题是什么?您的代码的期望行为是什么,它在做什么?
-
我希望 Iphone 上的气球只显示一次。现在,每次用户访问该网站时,都会在 Iphone 主页上显示用于保存链接的气球。这只发生在 iphone 而不是 Ipad 上
-
也许您 iPhone 的 localStorage 已经满了? stackoverflow.com/q/1921048/2057171
标签: javascript ios local-storage