【问题标题】:Javascript doesn't work on mobile, shows empty spacesJavascript 在移动设备上不起作用,显示空白
【发布时间】:2019-01-08 14:42:15
【问题描述】:

我创建了一个包含日历和特定时间的预约时间表。在桌面上它可以完美运行,也可以在 chrome 的模拟器中运行,但它不能在移动设备上运行,在我的情况下是 Safari 和适用于 iOs 的 Chrome。日历日不会显示在移动设备中。

这是桌面版本。

这是手机版。

javascript 充满了 onclick 事件,它们都是根据用户所在的日、月和年创建的。我尝试删除所有 onclick 事件,它显示得很好。这就是使用其中的函数创建日历的每一天的方式。

<div class="calendar__day" id=day'+i+' onclick="changedate('+a+','+i+','+month+','+ finday(i,yyyy,mm) +')"><span class="calendar__date">'+ i +'</span></div>

是否有任何解决方法使其也可以在移动设备上使用?是因为javascript太多还是只是onclick函数?

【问题讨论】:

  • 如果您需要有关代码的更多信息来帮助我,我很乐意向您展示更多信息,但我觉得这更像是一个理论问题而不是实际问题。
  • 你可能需要设置你的机器来调试它。
  • 你的变量是什么?那是document.write 的html 部分还是什么?为什么一切都是' + _ + '?是否所有变量都传递给了changedate 函数号?如果没有,你有一些遗漏的引号
  • 你在使用features in your code that aren't available in some mobile browsers吗?例如,我最近使用fetch 编写的代码在现代 d/t 浏览器中运行良好,但在较旧的移动浏览器中却失败了,因为它们没有像 fetch 这样的最新技术。
  • 一切都是 ` ' + _ + ' ` 因为它是在 javascript 中创建的,而不是作为 innerHtml 传递到 html 中。变量a只是一个创建的字符串'day' + i,而i是循环中用于创建日期的整数,finday是用于更改左上部分日期的函数。

标签: javascript html mobile


【解决方案1】:

在将console.logs 放在各处后,我发现每次在html 中创建新的一天时,都会执行通过单击changedate 函数调用的函数finday(i,yyyy,mm)。我真的不知道为什么会这样,但我在changedate 中实现了finday 函数,现在它可以工作了。 我想这只是为移动浏览器执行了太多的 javascript 函数。

【讨论】:

    猜你喜欢
    • 2019-07-31
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多