前提・実現したいこと
リンク先を新しいウィンドウで開きたいのですが、開かない。
(target="_blank"が効かない。)
ここに質問の内容を詳しく書いてください。
html形式でコーディングをしています。
発生している問題・エラーメッセージ
target_blankが昨日しません。
jsで下記を入れているからかな‥?と思うのですが
知識がなく、ご経験のある方にお伺いしたいです。
該当のソースコード
リンクを貼ろうとしているHTMLは下記です。
<div class="flex-child"> <figure class="snip1273"> <img src="img/doukoku12.png" alt="sample86"/> <figcaption> <h3>◯◯◯◯◯◯◯◯</h3> <p>◯◯◯◯◯◯◯</p> </figcaption> <a href="link/bunsyou21.html" target="_blank"></a> </figure> </div><!--div flex-child-->
ホバーエフェクト
$(".hover").mouseleave( function () { $(this).removeClass("hover"); } ); $(window).on('load', function(){ $('body').removeClass('fadeout'); }); コード
モーダルウィンドウ↓
// ハッシュリンク(#)と別ウィンドウでページを開く場合はスルー $('a:not([href^="#"]):not([target]):not([data-lity])').on('click', function(e){ e.preventDefault(); // ナビゲートをキャンセル url = $(this).attr('href'); // 遷移先のURLを取得 if (url !== '') { $('body').addClass('fadeout'); // bodyに class="fadeout"を挿入 setTimeout(function(){ window.location = url; // 0.8秒後に取得したURLに遷移 }, 800); } return false;ß }); });
試したこと
jsで新しタブで開く指定をしても、ダメでした。。
入れたのは下記です。
function externalLinks(){ if(!document.getElementsByTagName){ return; } var _1=document.getElementsByTagName("a"); for(var i=0;i<_1.length;i++){ var _3=_1[i]; if(_3.getAttribute("href")&&_3.getAttribute("rel")==="external"){ _3.target="_blank"; } } } window.onload=externalLinks;
みなさま御多用のところ申し訳ありませんが
どなたか、解決のヒントをくださると幸いです。
宜しくお願いいたします。
e.preventDefault(); // ナビゲートをキャンセル
これのせいで効かなくなっている、というのは認識済みですか?
> jsで新しタブで開く指定をしても、ダメでした。。
これがよくわかりませんでした。window.open() を使えば新しいウィンドウなどは開くと思いますのでどうしたのかすべてのコードを書いていただければと思います
コードはマークダウンのcode機能を利用してご提示ください
あとHTMLもご提示ください。
<a href="..." target="_blank">のように書いているということですか?
それとも JavaScript によって target 属性をつけているのでしょうか?
tatsunosuke様の記載のコードについて、何もわからずコピペしていました‥。申し訳ありません。
解決しました。ありがとうございます。ベストアンサーにさせていただきたいので、ご回答に何か入れていただけますと幸いです。
モーダルウィンドウのコードはかっこの対応が合っていないようです。
そちらを修正して、当方で試したところ、別タブで開きましたので、問題が再現しませんでした。
環境の問題か、ご提示いただいていない部分のコードに問題があるかと思います。
回答2件
あなたの回答
tips
プレビュー