

iOSのSafariにおいて、`<a>タグ`の挙動について質問です。

**実現したいこと**  
以下のように、ボタンをクリックするとJavaScript(React)でdownload属性を設定した`<a>タグ`を生成し、サーバに配置してあるPDFファイルをダウンロードするコードを書きました。  
ここで、iOS13以前のSafariはdownload属性が未実装のようなので、iOSに限り別ウィンドウでPDFを表示させたいです。

**困っていること**  
しかし、iOS12でリンクをクリックすると別ウィンドウが開かれず、同一ウィンドウでリンクを実装したページの親ページに遷移してしまいます。  
また、iOS13でも同じ挙動です。

意図通りに動かす方法をご存知の方がいらっしゃいましたら、ご教授いただけたら幸いです。

jsxファイル

[code]

    <a onClick={this.props.downloadPdf}>ファイルをDL</a>
    
[/code]

jsファイル

[code]

      const downloadPdf = () => props.dispatch(getPDF()).then((res) => {
        const url = URL.createObjectURL(res.payload.data);
        const a = document.createElement('a');
        a.href = url;
        a.download = 'test.pdf';
        a.target = '_blank';
        a.rel = 'noopener';
        a.click();
        a.remove();
    
        setTimeout(() => {
          URL.revokeObjectURL(url);
        }, 1000);
      });
    
[/code]

＊ 以下の環境でダウンロード成功  
OS: mac  
ブラウザ: Safari, Chrome


CC BY-SA 4.0
2020-05-07T11:20:11.987
66391
2020-05-07T11:23:44.503
2020-05-07T11:23:44.503
3060
39448
question
javascript ios html safari
iOS の Safari にて <a href="xxx" target="_blank" rel="noopener"></a>で別ウィンドウにてリンクを開きたい