【问题标题】:Javascript error on mobile - not on desktop移动设备上的 Javascript 错误 - 不在桌面上
【发布时间】:2018-03-11 01:36:30
【问题描述】:

我的网站使用 javascript。在计算机上,它工作正常,没有错误。在我的手机上,使用 chrome 40,它没有:使用 chrome 远程开发工具,我可以看到我手机的 chrome tab 控制台。

它会抛出这个错误:

Uncaught SyntaxError: Unexpected identifier 在第 20 行。

这是第 20 行的代码:

<script>
    function hideUpdateMenu(){
        document.getElementById('updateMenu').style.display = "none";
    }
    function toggleSettingsMenu (){
        let setMenu = document.getElementById('settingsMenu'); // Line 20
        if (setMenu.style.display == "block"){
            setMenu.style.display="none";
        }
        else{
            setMenu.style.display ="block";
        }
    }

具有相同代码的相同页面在使用 chrome 的 Windows 10 上运行良好。

我能做什么?什么可能导致这个问题?

【问题讨论】:

  • 对我来说似乎是正确的,你确定那里没有奇怪的空白字符吗?我有时会发生这种情况,当我输入 alt+space 时,似乎我输入了一个空格,但 javascript 抱怨它,因为它实际上是一个不间断的空格。试试改写那行吧?

标签: javascript android google-chrome mobile


【解决方案1】:

我很确定手机上的 Chrome 40 不支持 ES6(因此它不理解 let 关键字)。用 var 替换它(这不应该改变您发布的代码的功能)。

var setMenu = document.getElementById('settingsMenu'); 

【讨论】:

  • 嗨,尼克,欢迎来到 SO。要求 OP 做某事,例如“如果你……会发生什么?”最适合作为评论;不是答案。
  • 感谢 cmets,我已将帖子编辑为答案而不是猜测。
  • 谢谢,成功了。此外,升级 Chrome 也很有效。我没有意识到我的版本是这个过时的。
猜你喜欢
  • 2017-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-09
  • 1970-01-01
  • 2021-04-20
  • 2019-09-30
相关资源
最近更新 更多