JavaScriptのlocation.hrefでリンクを別窓で開くようにしたらあるブラウザで開かなかった
こんにちは、モトです。
今回JavaScriptでリンクを別窓で開く必要があり、調べて実装してみましたが、
スマホのLINEアプリのブラウザでは開かず失敗してしまったことを書きます。
今回やりたかったことは、
要素をクリックした時に、同じページ内にあるリンクを別窓で開く。
aタグで同じリンクを貼ってtarget=”_blank”をつければ簡単なのでは?と思いますが、
今回はリンクがJSで後から付与されたものでしたので、JSで実装する必要がありました。
普段使わなかったのでネットで調べ、下記の方法を選択しました。
$(".link1").on("click", function() { let href=$(".link2 a").attr("href"); window.open().location.href=href; });
単純にlink1をクリックした時、link2のURLを取得し、そのリンクを別窓で表示させる、というものです。
しかし、こちらの方法では他のブラウザでは問題ありませんでしたが、
スマホのLINEアプリでは「about://(null)」と表示され、リンク先を表示することができませんでした。
検証環境
iphone8 iOS 11.4
LINEアプリ 8.5.2
$(".link1").on("click", function() { let href=$(".link2 a").attr("href"); window.open(href, "_blank"); });
検証の結果、上記の方法にすると無事表示されました!
調べてみますと上記が一般的な方法のようです。
Writer
遠山拓朗
お酒が大好きなECコンサルタントです。ビールとマーケティングと海外旅行とビールが大好きです。普段目黒か神楽坂で飲んでるので、Webの相談と飲みのお誘いお待ちしてます。
X:takuro_toyama / FB:takuro.tohyama