JavaScript 无法在移动设备上加载

标签 javascript jquery mobile

首先,这是我的JS

function getTimeRemaining(endTimeInput) {
var endTime = new Date(endTimeInput);
var currentTime = new Date();

var t = endTime - currentTime;

var seconds = Math.floor((t / 1000) % 60);
var minutes = Math.floor((t / 1000 / 60) % 60);
var hours = Math.floor((t / (1000 * 60 * 60)) % 24);
var days = Math.floor(t / (1000 * 60 * 60 * 24));

return {
 total: t,
 days: days,
 hours: hours,
 minutes: minutes,
 seconds: seconds,
 }
}

var dejts = [
{
    number: 1,
    date: Date.parse("2015-12-07 21:13"),
    text: "text1"
},
{
    number: 2,
    date: Date.parse("2015-12-31 06:00"),
    text: "text2"
}
];

$(document).ready(function(){
  init();
});


function init(){
var eighteenHours = 18*1000*60*60;

    for (i=0 ; i<dejts.length ; i++){
        var currentDejt = dejts[i];
        var now = new Date();

        if (currentDejt.date + eighteenHours - now > 0){
            startTimer(currentDejt);
            break;
        }
    }

}




function startTimer(dejt){

 var interval = setInterval(function() {
  var t = getTimeRemaining(dejt.date);
  $('#date-counter').text(dejt.number.toString());
 // document.getElementById('date-counter').innerHTML = dejt.number;
  document.getElementById('days').innerHTML = t.days + ' d';
  document.getElementById('hours').innerHTML = t.hours + ' h';
  document.getElementById('minutes').innerHTML = t.minutes + ' m';
  document.getElementById('seconds').innerHTML = t.seconds + ' s';

  if (t.total < 0){
      clearInterval(interval);
      document.getElementById('date-counter').innerHTML = dejt.number;
      document.getElementById('days').innerHTML = '0 d';
      document.getElementById('hours').innerHTML = '0 h';
      document.getElementById('minutes').innerHTML = '0 m';
      document.getElementById('seconds').innerHTML = '0 s';

      displayDejtText(dejt);

  }


}, 1000);
}


function displayDejtText(dejt){

$('.heart-content').html("<p>" + dejt.text + "</p>");

}

当我使用 chrome 或 safari 从笔记本电脑访问我的页面时,效果很好,但当我尝试从 iPhone 5S(chrome 和 safari)访问它时,Javascript 未加载。我尝试在 document.ready 中设置控制台日志,甚至在所有代码之上设置控制台日志,但从移动设备访问它时没有记录任何内容。我已经使用 http://jsconsole.com/ 远程调试了它但没有记录任何错误/异常。我究竟做错了什么?该脚本加载在 html <head> 中与 jquery 一起标记。我尝试将其加载到 <body>但这没有什么区别。 请帮忙。

最佳答案

我无法复制该问题。我不确定您是在真实设备还是模拟模式下进行测试,事实上我尝试在模拟模式下进行复制。 另外,我刚刚在脚本标记中添加了 type = 'text/javascript'

以下是快照供引用。

Snapshot 1

Snapshot 2

您也可以尝试 jquery mobile。

关于JavaScript 无法在移动设备上加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34231852/

相关文章:

javascript - parseInt() 和 Number() 有什么区别?

javascript - 将动态数据传递给子组件

java - Java中如何设置图标显示在最右边

由于 Wicket 框架插入的结构元素而出现问题的 JQuery 脚本

javascript - 使用 jQuery 将事件绑定(bind)到动态创建的元素

javascript - 浏览器性能 : `display:none` versus `.detach()`

android - 除了使用 cookie 之外,还有什么方法可以识别手机网络用户?

javascript - 如何防止键盘将覆盖 View 向上推?

javascript - AngularJS 设计指南

javascript - 如何根据行单元格值隐藏/显示表格列?