-
ID:teJXAz さんの質問

target=_blankをユーザー環境毎で切り替えることは可能でしょうか?

イメージとしては

  • PC⇒リンクを別タグ表示に
  • スマホ⇒リンクは別タグ表示ではなく、同じタブ内で切り替えが発生する
    といった具合です。

詳細を説明しますと、現在商用サイトのレスポンシブ化を検討しています。
PC版だけですと、別タグ表示にすることによって直帰率低下を狙っていました。スマホ版で、リンクを別タグにしてしまうと、なかなか元のページに戻ることはないと考えられるため、逆効果ではないかと思うのです。

可能でしたら、
どの言語を使用するのか、(HTML,CSS以外にPHPやJSも?)
簡単なソースの説明もしくはやり方について
教えて頂けると幸いです。

みんなの回答 7 件

ID:oexb1. さんの回答

JS で UA 判定し、対象の UA だった場合のみ setAttribute でゴニョゴニョすれば完成です。

ID:Hdoqrg さんの回答

var _sp = false;
var agent = navigator.userAgent;
if(agent.search(/iPhone/) != -1 || agent.search(/iPod/) != -1 || agent.search(/Android/) != -1){
_sp = true;
}
if(_sp){
ごにょごにょ
}else{
ごにょごにょ
}

ID:KXlXEv

AndroidはMobileも含む時だけにしたほうがいいかも。

ID:E/lObQ さんの回答

PHPで UA 判定し、対象の UA だった場合のみ ($uaFlag)?echo ’target="_blank"’:; でゴニョゴニョすれば完成です。

ID:WGOVBV さんの回答

これでどう?
</body>の直前におけば動くよ。
<script>
(function(){
if(document.getElementsByTagName(’body’)[0].ontouchstart === undefined){
var a = document.getElementsByTagName(’a’);
for(var i = 0;i < a.length;i++) a[i].setAttribute("target","_blank");
}
})();
</script>

ID:jNWbDI さんの回答

あとは、リンクそのものを2種類用意して、CSSで解像度ごとに表示/非表示を切り替えるって方法もあるな。
RWDなら一番低コストでできるかも。

ID:QSy6Ur

一番めんどいでしょ

ID:559W0l

今時ターゲット付けるって事は外部サイトかサブ機能への離脱リンクだろうからそんなに数多くないと思ってさ。

ID:lpikcn さんの回答

甘やかし過ぎ

ID:E/lObQ

中国の古典に六韜ってのがあってだな・・・

ID:teJXAz さんの回答

返信が遅れてすみません。みなさんご回答ありがとうございました。
すべて試してみて、一番合った方法を使用したいと思います。

JSについてはまだ未熟なため、少しずつ勉強していきます。

最終更新日:2015-06-19 (3,918 views)

関連するトピックス

ページ上部に戻る