1

iOS Safari で Web ページを実行すると問題が発生します。

canvas-text ライブラリを使用して、次の場合に完全に機能するテキストをレンダリングしています。

  • Ubuntu/Windows -- クローム、ファイアフォックス
  • Mac -- サファリ
  • Android -- デフォルト、Firefox、Opera、Dolphin

ただし、 iPhoneでは動作しません。

iPhone で JavaScript コンソールを有効にすると、次のようなエラーがいくつか表示されます。

Javascript: エラー未定義

TypeError:「未定義」はオブジェクトではありません

コンソールには行番号は表示されませんが、コード全体に警告ボックスを配置することで、問題が発生した場所を特定することができました。エラーを生成するコードは次のとおりです。

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

問題は context.measureText 内に存在します。以前のコードを次のコードに置き換えようとしたため、これを知っています。

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

その行でまだエラーが発生しました。

私がやったので、contextとmeasureTextが定義されていることは確かです:

alert(context.measureText);

警告した:

function measureText(){[ネイティブ コード]}

私が言ったように、問題は measureText にあるようです。私は多くのことをグーグルで検索しましたが、解決策を見つけることができませんでした。

私は JavaScript 初心者なので、簡単な修正があってもそれほど驚くことはありません。しかし、コードはすべて問題ないように見えます。これは、iPhone の measureText の実装に問題があります。

4

0 に答える 0