編集(管理者用) | 編集 | 差分 | 新規作成 | 一覧 | RSS | 表紙 | 検索 | 更新履歴

traceFrames

フレームがあった場合に、各フレームについて処理を実行するためのJavaScript関数。

function traceFrames(func) {
	var depth = 0;
	var trace = function(win) {
		var frames = win.frames;
		var len = frames.length;
		var bodyTag = win.document.body.tagName.toLowerCase();
		if (len && bodyTag == 'frameset') {
			depth++;
			for (var i = 0; i < len; i++) {
				trace(frames[i]);
			}
		}
		else {
			func(win, depth);
		}
	};
	trace(window);
}
func
各フレームにおいて実行する関数。第1引数を各フレームのwindowオブジェクト、第2引数を階層の深さ(整数)とする。

各フレームの文書タイトルと階層の深さを表示するbootmarklet。

(function(){
	var func = function(w, depth) {
		alert('title: ' + w.document.title + '\ndepth: ' + depth);
	};
	traceFrames(func);

	function traceFrames(func) {
		/* …省略… */
	}
})()