概要
a 要素の class 属性に外部のという意味である "external" が指定されているか、pdf, doc, xls, ppt ファイルにリンクしている場合、リンク先を別ウインドウで開くことのできる JavaScript です。(ただし、設定でクラス名、ファイルの種類は自由に変えられます。)
使い方
ダウンロードした openwin.js を XHTML ファイルの head 要素内などで読み込んでください。
<script type="text/javascript" src="js/openwin.js"></script>
openwin.jsのソース内の
conf : { className : "external",//リンク先を別ウインドウで開きたいa要素につけるclass名 fileTypes : ["pdf","doc","xls","ppt"]//リンク先を別ウインドウで開きたいファイルの拡張子 },
を変更することで、設定の変更が行えます。fileTypes の個数は任意で増減自由です。
ソースコード
/*==================================================================================================== ////////////////////////////////////////////////////////////////////////////////////////////////////// Author : http://www.yomotsu.net created: 2007/02/01 update : 2007/11/15 Licensed under the GNU Lesser General Public License version 2.1 ////////////////////////////////////////////////////////////////////////////////////////////////////// ====================================================================================================*/ var yomotsuOpenWin = { conf : { className : "external",//リンク先を別ウインドウで開きたいa要素につけるclass名 fileTypes : ["pdf","doc","xls","ppt"]//リンク先を別ウインドウで開きたいファイルの拡張子 }, main : function(){ var fileTypesReg = ""; for(i = 0; i <yomotsuOpenWin.conf.fileTypes.length; i++){ fileTypesReg += "."+yomotsuOpenWin.conf.fileTypes[i]+"|" } fileTypesReg=fileTypesReg.slice(0, -1); var a = document.links; for (i = 0; i <a.length; i++) { if (new RegExp("\\b" + yomotsuOpenWin.conf.className + "\\b").exec(a[i].className)|| (new RegExp(fileTypesReg).exec(a[i].getAttribute("href")))){ a[i].onclick = yomotsuOpenWin.openWin; a[i].onkeypress = yomotsuOpenWin.openWin; } } }, openWin : function(){ var uri = this.href; window.open(uri, "", "toolbar=yes, location=yes, directories=yes, status=yes, menubar=yes, scrollbars=yes, resizable=yes, close=yes"); this.href = uri; return false; }, addEvent : function(){ try { window.addEventListener('load', yomotsuOpenWin.main, false); } catch (e) { window.attachEvent('onload', yomotsuOpenWin.main); } } } yomotsuOpenWin.addEvent();

トラックバックURI
http://www.yomotsu.net/lab/javascripts/openwin/trackback
コメント
Web制作者がうれしいJavaScriptサンプル | TMJ styleさんからのコメント
2009年1月3日 21:47
[...] ■a要素のtarget=”_blank”の代わり a要素のクラスに「外部の」という意味である”external”が指定されているか、pdf、doc、xls、pptファイルにリンクしている場合、リンク先を別ウインドウで開くことのできるJavaScriptです。 [...]
ちっちゃなポッケ » Blog Archive » target=”_blank”の代わり。さんからのコメント
2009年2月3日 9:47
[...] A要素のTarget=”_blank”が非推奨になってますので jsを使ってClass指定する方法。 こちらのjsを使わせてもらっております。 [...]
コメントフォーム
実験室に戻る