« 調子が悪い……ままで気付けば五月も終わってしまう | トップページ | それは全くその通りだが、お前が言うのはどうなんだ? »

2007/06/02

フレーム内ページを別々に表示するブックマークレット

フレーム設定された(<FRAMESET>を使った)サイトの各フレーム内のページを、別窓で表示するブックマークレットを作ってみました。
ブックマークレットの登録方法等はこちら→【Web】ブックマークレットのブラウザ毎の登録方法
とっくに誰かが作っていると思いますが、探すのが面倒だったので……。
→framesではなくframe要素を参照するように修正(フレームのURLがメインフレームと同一ドメインでないと開けなかったため)。
→そう単純でもなかったみたいで。frame要素のsrc属性を参照してしまうと、既にそこから遷移していた場合に対処できない……ので、やっぱり両方いる、かも?場合によって使い分け。
→とりあえずframesで参照し、エラーになったら代わりにframe要素のsrcの方を開く、としてみました(1+2)。
ただ……framesの並び方とframe要素の並び方、同じって保証あるんでしたっけ?(苦笑)
中身は至極単純。
【タイプ1】
javascript:(function(){var d;for(var c=0;c<frames.length;c++){try{d=frames[c].document;}catch(e){continue;};window.open(d.location.href);}})();
【タイプ2】
javascript:(function(){var f=document.getElementsByTagName('frame');for(var c=0;c<f.length;c++)window.open(f[c].src);})();
【1+2】
javascript:(function(){var d=document;var f=d.getElementsByTagName('frame');for(var c=0;c<frames.length;c++){try{d=frames[c].document;}catch(e){window.open(f[c].src);continue;};window.open(d.location.href);}})();
javascript:(function(){var d=document;var f=d.getElementsByTagName('frame');for(var c=0;c<f.length;c++){try{d=frames[c].document;}catch(e){window.open(f[c].src);continue;};window.open(d.location.href);}})();
作成の動機は、フレームを使ったサイトで『ぴくとぽっぷ:ページ上から直リンクしている画像を順次表示するブックマークレット』を使おうとしたときに、いちいちメニュー用フレームのURLを調べるのが煩わしかったためです(笑)。
ちなみに、ブラウザの方でポップアップブロック設定されている場合にはブロックされたり警告が出てしまいますのでご了承ください。

« 調子が悪い……ままで気付けば五月も終わってしまう | トップページ | それは全くその通りだが、お前が言うのはどうなんだ? »

パソコン・インターネット」カテゴリの記事

おもいつき」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: フレーム内ページを別々に表示するブックマークレット:

« 調子が悪い……ままで気付けば五月も終わってしまう | トップページ | それは全くその通りだが、お前が言うのはどうなんだ? »

戻るリンク追加

カレンダー

2022年4月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

ココログカレンダーPlus(旧2)

検索


    • Web全体 サイト内
    • 蔵書のISBNを入力して下さい
    • はじめる前
      初級者向け
      上級者向け
      ブログ紹介
      結果を表示

コメントリストツリー化

無料ブログはココログ