未定义仅在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的一个问题。