ここで提案されているソリューションを試してみました: Javascript でのクロス ブラウザー フラッシュ検出
しかし、Android v4.1.2 の Chrome v29.0.1547 では動作しないようです
Drupal でコードを使用しているため、 ' をエスケープする必要がありましたが、問題はないと思いますが、試した完全なコードは次のとおりです。
$onloadjssndsetup3 = 'jQuery(document).ready(function($){
var isFlashExists = swfobject.getFlashPlayerVersion().major !== 0 ? true : false ;
if (isFlashExists == false) {
$("#main").before("aa");};
});
';
drupal_add_js($onloadjssndsetup3, 'inline');
このコードは、ページに「aa」を追加します。私はこの他のコードも試しました:
$onloadjssndsetup3 = 'jQuery(document).ready(function($){
var isFlashExists = swfobject.hasFlashPlayerVersion(\'1\') ? true : false ;
if (isFlashExists) {
$("#main").before("aa");};
});
';
drupal_add_js($onloadjssndsetup3, 'inline');
この場合、「aa」は追加されません。
面白いのは、私が試しているスマートフォンが Samsung Galaxy SIII であり、フラッシュが問題なく動作していることです。swfobject に適切に報告させることができないだけで、フラッシュがそうではないと報告しています。インストールされています。
私は何か間違ったことをしていますか?
IE 上の Win8 では、FF は正しく検出されます。