诺基亚 Here 映射 Javascript 错误(带触摸屏的 Internet Explorer)

Posted

技术标签:

【中文标题】诺基亚 Here 映射 Javascript 错误(带触摸屏的 Internet Explorer)【英文标题】:Nokia Here maps Javascript error (Internet Explorer with touch screen) 【发布时间】:2014-03-25 11:20:28 【问题描述】:

我遇到了诺基亚 Here Maps(v2.5.3 和 2.5.4)的问题,我在页面上实例化了一张地图,我的控制台中一直记录 javascript 错误:

无法获取未定义或空引用文件的属性“长度”:http://js.api.here.com/se/2.5.4/base.js Line:218

我调试发现这个错误是在“pointercancel”事件之后抛出的,代码想在“event.changeTouches”上循环,但是规范化的事件对象中不存在“changedTouches”条目。

要测试此问题,您只需在触摸屏上使用 Internet Explorer(10 或 11)。

问候, 大卫

【问题讨论】:

【参考方案1】:

如果您使用的是 jQuery,请使用 event.originalEvent

function(e) 
  var evt = e.originalEvent,
  var touch = evt.changedTouches[0];
  ...

try/catch 也会有所帮助:

try
  
  for(var i=0; i < evt.changedTouches.length; i++)
  
catch(e)
  
  location.hash = "event.changedTouches does not exist";
  

参考文献

Script Junkie: Mobile Game Primer

【讨论】:

以上是关于诺基亚 Here 映射 Javascript 错误(带触摸屏的 Internet Explorer)的主要内容,如果未能解决你的问题,请参考以下文章

如何在struts 2中处理未映射的操作以重定向到某个合适的错误页面?

如何用JavaScript获得后台传过来的参数

如何用JavaScript获得后台传过来的参数

难以解决 Javascript 中的导入错误

Selenium C# - 捕获 Javascript 错误

检测 Javascript 中的 HTML <a> 点击呼叫支持