之前已经提出过这个问题,但这些解决方案都没有对我有用。 我的情况就是这样,我有一些随机改变div颜色的javascript,并不断重复。 这会导致移动设备出现大量延迟,因此在移动设备上时,我希望该功能不会运行并被CSS动画替换。
今天我对停止运行部分功能感兴趣。以下是我的代码,但它不起作用。有什么帮助吗?
<script id="PC-Code">
// complicated function, ending with this:
all2 = colorizeAll2( tris2, 750, 2000 );
all2();
</script>
<script>
if (
/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
navigator.userAgent
)
) {
$("#PC-Code").remove();
}
</script>
为什么这不会停止javascript?我怎么能停止javascript?
答案 0 :(得分:1)
如果您重新构建代码,只有在不移动时才会调用all2()
,该怎么办?
// remove all2(); from PC-code script
if (!(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
navigator.userAgent))
){
all2();
}
答案 1 :(得分:0)
只需在PC-Code
脚本中执行您的逻辑,并在条件满足时调用throw new Error
以阻止其执行,例如:
if (
/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
navigator.userAgent
){
throw new Error('This script had to stop!')
}
你能告诉我这是不是有效?
答案 2 :(得分:-1)
如果userAgent是移动的,也许你可以将你的var重新定义为null吗?
<script id="PC-Code">
// complicated function, ending with this:
all2 = colorizeAll2( tris2, 750, 2000 );
all2();
</script>
<script>
if (
/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
navigator.userAgent
)
) {
all2 = null;
}
</script>