小编use*_*339的帖子

使用Hammer.js时,Mobile Safari崩溃了

我正在使用Javascript for iPad进行多人游戏.我在多人游戏中使用Smartfox Server,在触摸事件中使用Hammer.js.

我有一个问题,当我在游戏的某个特定部分使用Hammer事件时,它会崩溃Mobile Safari.它在PC上完全正常,但在iPad上它会导致崩溃.

这是我的代码的一部分:

this.startButton.hammer().on("tap", this.handleStartClicked);
Run Code Online (Sandbox Code Playgroud)

我在"handleStartClicked"函数中所做的就是从输入框中获取用户的名称和密码,将它们保存到本地存储(如果可用),并调用Smartfox"connect"函数,该函数将用户连接到Smartfox并开始登录处理.这是功能:

onStartClicked:function(e){
  if(this.nameInput.val() == "" || this.pwInput.val() == "") {return;}

  this.startButton.unbind("click", this.onStartClickBind);

  if(window.localStorage != null && window['localStorage'] != null){
    window.localStorage.username = this.nameInput.val();
    window.localStorage.password = this.pwInput.val();
  }

  this.sfs.connect();
Run Code Online (Sandbox Code Playgroud)

}

如果我单击开始按钮,Mobile Safari会在大约80%的时间内崩溃.即使它没有立即在该点击上崩溃,它通常会在游戏后期的某个时刻崩溃.但是,如果我从不单击开始按钮(例如,如果我只是在没有触摸交互的情况下自动启动用户),则崩溃永远不会发生 - 即使在游戏的后期点也不会发生.我甚至试图完全删除开始按钮,只是将触摸监听器添加到整个文档正文,它仍然崩溃,所以它似乎与按钮没有任何关系(它只是一个普通的HTML按钮包裹在一个jQuery对象).

奇怪的是,如果我将Hammer.js事件更改为常规jQuery事件:

this.startButton.bind("click", this.onStartClickBind);
Run Code Online (Sandbox Code Playgroud)

移动Safari永远不会崩溃.不是在开始点击...不是在游戏中的任何一点.它似乎解决了一切.另一个奇怪的事情是我在我的代码的其余部分使用Hammer事件,但它似乎是一个问题的唯一地方就是这个处理程序.我不知道游戏中这个处理程序与其他处理程序有什么不同,除非崩溃与Mobile Safari,Hammer.js和Smartfox之间的交互有所不同.我在游戏中的其他Hammer处理程序上发送了对Smartfox的调用,但它们并没有让Safari崩溃,所以这似乎不太可能.

此外,我在下面有iPad的崩溃日志,如果这个问题在这个问题上有所了解:

Incident Identifier: 540C3060-271F-468E-9DF8-DA641DACA406
CrashReporter Key:   a5c833f7168137e99d3c8aa6a4d35804a584b7b4
Hardware Model:      iPad3,1
Process:             Web [210]
Path:                /var/mobile/Applications/327316BD-8A50-4245-B728-  
E6504C19A76D/Web.app/Web
Identifier:          com.apple.webapp
Version:             1.0 (1.0)
Code Type:           ARM (Native)
Parent Process:      launchd [1]

Date/Time:           2014-01-13 14:01:50.112 -0800
OS …
Run Code Online (Sandbox Code Playgroud)

javascript crash mobile-safari ipad hammer.js

13
推荐指数
1
解决办法
648
查看次数

标签 统计

crash ×1

hammer.js ×1

ipad ×1

javascript ×1

mobile-safari ×1