target=_blankをユーザー環境毎で切り替えることは可能でしょうか?
イメージとしては
- PC⇒リンクを別タグ表示に
- スマホ⇒リンクは別タグ表示ではなく、同じタブ内で切り替えが発生する
といった具合です。
詳細を説明しますと、現在商用サイトのレスポンシブ化を検討しています。
PC版だけですと、別タグ表示にすることによって直帰率低下を狙っていました。スマホ版で、リンクを別タグにしてしまうと、なかなか元のページに戻ることはないと考えられるため、逆効果ではないかと思うのです。
可能でしたら、
どの言語を使用するのか、(HTML,CSS以外にPHPやJSも?)
簡単なソースの説明もしくはやり方について
教えて頂けると幸いです。
みんなの回答 7 件
JS で UA 判定し、対象の UA だった場合のみ setAttribute でゴニョゴニョすれば完成です。
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{
ごにょごにょ
}
PHPで UA 判定し、対象の UA だった場合のみ ($uaFlag)?echo ’target="_blank"’:; でゴニョゴニョすれば完成です。
これでどう?
</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>
あとは、リンクそのものを2種類用意して、CSSで解像度ごとに表示/非表示を切り替えるって方法もあるな。
RWDなら一番低コストでできるかも。
甘やかし過ぎ
返信が遅れてすみません。みなさんご回答ありがとうございました。
すべて試してみて、一番合った方法を使用したいと思います。
JSについてはまだ未熟なため、少しずつ勉強していきます。
関連するトピックス