2016-08-25 39 views
-1

私はQRコードを生成するためにPHPのqrコードを使用しています。コードはブラウザに表示され、モバイルに合わせて幅を縮小したままですが、モバイルブラウザ(ChromeとFirefoxの両方)では表示されません。何か案は?生成されたQRコードがモバイルに表示されない

require_once(APPLICATION_PATH.'/library/phpqrcode-master/qrlib.php'); 
ob_start(); 
\QRcode::png($id, null, 'M', 8, 2); 
$endingOutput = ob_get_contents(); 
ob_end_clean(); 

return '<img src="data:image/png;base64,'.base64_encode($endingOutput).'" /><br/>' . $bitcoinID; 
+2

使用しているコードはどこですか?実際にここに行く情報はありませんが、ランダムな推測をしています。 – Sherif

+0

@Sherif更新された質問 – arthur

+0

[すべてのブラウザがデータURIをサポートしているわけではありません](http://caniuse.com/#feat=datauri)、多くの制限があります。 'strlen(base64_encode($ endingOutput))'をチェックしてイメージのサイズを確認してください。 32Kを超えると、一部のモバイルブラウザで問題が発生することがあります。また、これはCSS/HTMLや他のクライアント側の特定の問題にすぎません。再現可能な例にアクセスすることなく伝える方法はありません。ヘルプセンターの[mcve](http://stackoverflow.com/help/mcve)を参照してください。 – Sherif

答えて

0

私は正確に問題を引き起こしていたもののことを確認していないが、私の問題を修正この問題を回避するには、div要素を作成し、base64でコードするのdivの背景のURLを作成していました。私は、私もそれを表示するためのdivの幅と高さを設定する必要がありましたアヤックス

var url = 'url(data:image/png;base64,' + data.base64 + ') no-repeat'; 
$("#somediv").css("background", url); 

でそれをロードしました。

関連する問題