サイトが iPad で表示されている場合、ファイルを新しいタブにリダイレクトする必要があります。だから私は次のコードを用意しています...
if(isMobile.any()) {
window.open(_fileName);
} else {
//code to display the file in the current window or tab on a computer
}
これは正常に動作しますが、iPad はそれをポップアップとして認識し、それをブロックするか、クライアントに受け入れられない警告ダイアログをスローします。私が理解しているように、window.open を使用してこの問題を回避する方法はありません。
一方、ユーザーが新しいタブでファイルを開くリンクをクリックしても、iPad ではポップアップとして表示されないため、ブロックも警告もありません。だから私はこれができると思った...
if(isMobile.any()) {
var markup = "<a class='clickme' href="+_fileName+" target='_blank'>click me</a>";
$('.myviewer').append(markup);
$('.clickme').click();
} else {
//code to display the file in the current window or tab
}
これはコンピュータでは機能しますが、iPad では機能しません。別のスレッドで、コンピューター上で動作するべきではないと言われましたが、動作します。
iPadでイベントをトリガーする方法があれば、ポップアップブロッカーの怒りを避けることができました。