SC440とか110GdとかML115で頑丈、高速、低コストなVMWareサーバを作る。 Firefox3でのoverflow:autoとborder & CSS Hack
8月 19

某サイトにて、WordPressを使ったサイトを構築。

画像のアップロード・使用は問題ないが、PDFをアップロードした場合に、PDFファイルのクリックは、別ウィンドウにしたいという話が持ち上がる。

対処法としては、WordPressのアップロード~エディタへの貼付け部分のスクリプトを修正して、ファイルの種類がPDFだったら、”_blank”属性を付けて貼付け、もしくは、その部分をハックするプラグインを書くか・・と思ったが、とても面倒そうなので、JavaScriptを使って表面的にやることにした。

できたコードはこんな感じ。つまり、Aタグを全部なめて、リンク先文字列が*.pdfだったら、アンカーのtargetを_blankにするだけ。あとはこれを外部ファイルにして、WordPressのヘッダのテンプレ部分で読み込めばOKかな。onLoadで処理するのが好ましいから、EventObserveとかでやったらいいんじゃないかな。

HTML部分

<ul>
<li><a href="foo.html">リンク</a></li>
<li><a href="hoge.pdf">PDF</a></li>
<li><a href="fuga.doc">Doc</a></li>
</ul>

JavaScript部分
[js]
var elem = $$(’a');
for (var i = 0; i < elem.length; i ++) {
var str = elem[i].href;
if(elem[i].href.match(/pdf$/i)){
// マッチした
elem[i].target = “_blank”;
}else{
// マッチしない
}
}
[/js]
※要 prototype.js

Popularity: 13% [?]

written by ANN

add to hatena hatena.comment (2) add to del.icio.us (0) add to livedoor.clip (0) add to Yahoo!Bookmark (1) Total: 3

Leave a Reply