我使用此网站http://www.samdutton.com/pageVisibility/中的代码,但我的脚本无法使用chrome中的有效或无效标签
我有jquery 2.0和jquery ui
android:layout_toRightOf="@id/age"
android:layout_marginLeft="8dp"
原始代码
var hidden, visibilityChange;
if (typeof document.hidden !== "undefined") {
hidden = "hidden";
visibilityChange = "visibilitychange";
} else if (typeof document.mozHidden !== "undefined") {
hidden = "mozHidden";
visibilityChange = "mozvisibilitychange";
} else if (typeof document.msHidden !== "undefined") {
hidden = "msHidden";
visibilityChange = "msvisibilitychange";
} else if (typeof document.webkitHidden !== "undefined") {
hidden = "webkitHidden";
visibilityChange = "webkitvisibilitychange";
}
function handleVisibilityChange() {
if (document.hidden) {
setInterval(function() { console.log('hidden'); }, 1000);
} else {
setInterval(function() { console.log('view'); }, 1000);
}
}
if (typeof document.addEventListener !== "undefined" || typeof hidden !== "undefined") {
document.addEventListener(visibilityChange, handleVisibilityChange, false);
}
答案 0 :(得分:2)
if (document.hidden)
应该是
if (document[hidden])
第一个语句表示“访问hidden
”的属性document
,而第二个表示“使用变量hidden
中的字符串中的名称访问属性(hidden
{}}}的{1}}或mozHidden
等等。
同样,document
也等同于第一个陈述。
然后,在您的其他document['hidden']
语句中,在分配事件侦听器之前,您需要检查是否 if
和 < / strong> addEventListener
存在或已定义。所以
hidden
应该成为
if (typeof document.addEventListener !== "undefined" || typeof hidden !== "undefined")
然后它应该有用(除了它可能应该是if (typeof document.addEventListener !== "undefined" && typeof hidden !== "undefined")
而不是setTimeout
)。
如果这仍然不起作用,则很可能在代码中的其他位置出现语法错误。我建议您使用JSHint验证您的代码。