楽天やヤフーでのひと気システム(にぎわい演出システム&自動更新)。売り上げやランキング、レビューなんかを自動更新するシステムなんですが一度提供元にHTMLファイルを提出するとFTPで送られてくるHTMLは修正できません。(修正には追加料金が・・・)
そこで後々修正がし易い様に「CSSファイル」「JSファイル」は極力HTMLの外に置きます。
今回はリンクの一部に「_top」を入れ忘れてしまいました!HTMLをいじらずに修正しなければなりません。
スタイルシートではtarget指定が出来ないのでjQueryで調べると
1 2 3 4 |
$(function(){ $('a').attr({'target':'_blank'}); //全てのリンクを別タブにする場合 $('#sample a').attr({'target':'_blank'}); //特定要素内の全リンクを別タブにする場合 }); |
というのを発見。
これはYahoo!ショッピングのトリプルで「<base target=”_top”>」が効かない場合に利用する
1 2 3 4 5 6 |
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"> <script> $(function(){ $('a').attr({'target':'_top'}); }); </script> |
と同じ手法。
今回はスライダーにjQueryを使っていなかったのでJavaScriptのファイル内でjQueryのCDNの読み込みも必要。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
var head = document.getElementsByTagName("head"); var script = document.createElement("script"); script.setAttribute("src", "http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"); script.setAttribute("type", "text/javascript"); script.addEventListener("load", function() { // jQuery $(function(){ $('a').attr({'target':'_top'}); }); // end jQuery }); document.head.appendChild(script); |
jQueryをCDNで読み込んでターゲットを指定。
HTMLの書き換えを依頼しないで済みました。でもjQueryを使わずにJavaScriptだけで書ければ本当はいいんだけど・・・・・わからない???
コメント