フロントエンドエンジニアになりたい

デザイナーなのかコーダーなのかディレクターなのかよくわからない人のブログ。趣味で絵を描きました(過去形)

Pixi.jsでAndroid4.0系だけCROS時にSECURITY_ERR: DOM Exception 18 エラー

情報がなくて2日もはまってしまいました。。。

結論、Android4.0系の標準ブラウザでWebGLを使うとどうあがいてもこのエラーになる場合があります。なので、Canvasを使うようにしてあげるといいです。(4.1とかは大丈夫)

PIXI.autoDetectRendererの第4引数にtrueを設定すると強制的にCanvasになるのでそこで適当に倒してあげると楽かもです。

var ua = navigator.userAgent;
var androidversion =  parseFloat(ua.slice(ua.indexOf('Android')+8));
var renderer = PIXI.autoDetectRenderer(
  300,
  300,
  {},
  androidversion === 4 ? true : false // noWebGL flag
);

追記:4.0系の標準ブラウザでもWebGLに対応してる機種としていない機種があるみたいです。

GClue HTML5 blog: スマートフォンブラウザのWebGL対応状況調査(2013年7月版)