未定义仅在iPhone上使用TypeError – JavaScript,HTML5 canvas_context.measureText

在iOS Safari上运行网页时遇到问题。

我正在使用canvas文本库来呈现完美的作品,如下所示:

  • Ubuntu / Windows – Chrome,Firefox
  • Mac – Safari
  • Android – 默认,火狐,歌剧,海豚

但是,它不适用于iPhone

我启用了iPhone上的JavaScript控制台,我得到一些错误,读取:

Javascript:错误未定义

TypeError:'undefined'不是一个对象

控制台不显示行号,但通过在整个代码中放置警报框,我能够隔离出现问题的地方。 这是产生错误的代码:

usedX = context.measureText(textUsername).width + context.measureText(textInput).width + paddingInput*2 + borderInput*2; 

问题存在于context.measureText中。 我知道这是因为我试图用以下代码replace以前的代码:

 var usedX = context.measureText("why is this an error?"); 

而且我仍然有这个错误。

我知道肯定的上下文和measureText被定义,因为我做了:

 alert(context.measureText); 

提醒:

函数measureText(){[native code]}

正如我所说,这个问题似乎在measureText。 我Googlesearch很多,找不到解决scheme。

我是一个JavaScript的noob,所以我不会很惊讶,如果有一个简单的修复。 但是代码似乎一切正常,这是iPhone实现measureText的一个问题。