我仅在移动设备上收到以下错误
Uncaught TypeError: Cannot read property 'replace' of undefined
at window.onscroll
这是导致错误的代码
<script type="text/javascript">
$(document).ready(function () {
window.onscroll = function() {
var w = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
if (w<660) {
var element = $('#livechat-compact-container');
element.attr('style', element.attr('style').replace(/bottom:[^;]+/g, ''));
$('#livechat-compact-container').css('bottom','50px');
}
};
});
</script>
带有 id #livechat-compact-container 的元素确实存在,所以我不确定为什么它是未定义的并且仅在移动设备上显示此错误。
最佳答案
很确定这对你有用:
第一。移动var element = $('#livechat-compact-container');
向上
第二。将 if 更新为 if (w < 660 && element)
:
<script type="text/javascript">
$(document).ready(function() {
window.onscroll = function() {
var w = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
var element = $('#livechat-compact-container');
if (w < 660 && element) {
$('#livechat-compact-container').css('bottom', '50px');
}
};
});
</script>
关于javascript - 无法读取 window.onscroll 处未定义的 'replace' 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44291438/