XIACA NI SEPPO

By xiaca.

【問題】iOSでwindow.openは動かない。解決策はwindow.location.hrefに変更することっぽい。


aahubのシェア機能のひとつに「ツイッターでつぶやく」機能があるんですが、そこでwindow.openがiOSだと動かない事象にハマりました。
解決策はwindow.location.hrefに変更するだけだったんですが、なぜこんな動きをするかは謎です。

事象:windows.openがiOSだと動かない

さて、aahubシェアページのTwitterでつぶやく機能ですが、こちら単純にaタグで記述してません。
一回、WebAPIとやり取りしてURLをもらってくるようになっています。
しかし、このURL取得処理の結果を使ってwindow.open(url)みたいなことをしているんですが、これだと動かない。なぜかはわからない。

正確には、ポップアップブロックが表示されないんですけどね。

解決策:window.location.hrefに変更する

解決策はQiitaにありました。

こちらにある通り、window.location.hrefなら動きます。ナイス!

まとめ:とりあえずwindow.location.hrefを使っとく

そもそもの目的はJavaScriptで他のURLに飛ばすのってどうやるのってところからです。そして、最初に見つけたのがwindow.openってだけです。特にwindow.openにこだわる理由はありません。

ということでwindow.location.hrefに処理を変更してこの問題を突破しました。とりあえず治ってよかった。