NAKAZI LAB.(ナカジラボ)

Webサイト制作を円滑にすることを目的とした、cssやJavaScript(jQuery)の小技備忘録サイトです。

どんな階層にhtmlがあっても対応できるJavaScriptの読み込み用jsファイル

2015年1月7日jQueryのみでつくるギミック

どんな階層にhtmlがあっても対応できるJavaScriptの読み込み用jsファイル

import.cssのようなことをJavaScriptでやろうとした場合、cssは外部ファイル内で相対パスを書けばそのcssからの相対パスで読み込んでくれますが、JavaScriptは外部ファイル内で相対パスを普通に書くとそのjsファイルが読み込まれるHTMLからの相対パスになってしまい、読み込んでいるhtmlの階層が変わると同じjsファイルを使い回すことができません。

今回はこの外部jsファイルに記述された相対パスの問題を解消した、読み込むhtmlの階層が変わっても対応できる読み込み用のJavaScriptを紹介します。

デモページ

JavaScript

var root;
var dir = document.getElementsByTagName('script');
var i = dir.length;
		
while (i--) {
	var match = dir[i].src.match(/(^|.*\/)import\.js$/);
	if (match) {
		root = match[1]		
		break;
	}
}
		
document.write('<script src="'+ root +'file01.js"></script>'); 
document.write('<script src="'+ root +'file02.js"></script>'); 
document.write('<script src="'+ root +'file03.js"></script>');

参考サイト

デモページ

  • ̃Gg[͂ĂȃubN}[Nɒlj

関連記事

  1. どんな階層にhtmlがあっても対応できるJavaScriptの読み込み用jsファイル

更新情報をチェックする

rss feedly twitter facebook

今週の人気記事TOP10

サイト内検索

中の人

nakazi

Web関係のお仕事をしてます。効率化が大好きです。当サイトの更新情報やWeb制作に関する事を@nakazilabでつぶやいています。

連絡先

nakazilab[atmark]gmail.com