頁内目次

最初の(目次)頁へ戻る次頁

JavaScript、HTML、ブラウザなど


ブラウザ用利便類

2002.12

現在の頁の保存.html  [NEW]

ソース(html)
IE拡張(右クリック)メニュー用。

頁内リンク先の一括保存(ダウンロード).html  [NEW]

ソース(html)
IE拡張(右クリック)メニュー用。こちらは上のように、中身を書き変えたりはしない。

2002.9

IEスクリプト無効化

IEスクリプト無効化.js(ソースhtml)、 .js(直)IEのソース表示
IE のスクリプトの有効/無効の切換え

IEオフライン起動

IEオフライン起動.js(ソースhtml)、 .js(直)IEのソース表示
オフラインのIEを作るスクリプト、なるべくダイヤログを出させないようにしたい為のもの。
(これとは別に[オフライン作業]にする必要あり)

式の実行

式の実行.html(ソースhtml)
電卓替わり?
窓の大きさを必要な分だけに小さくするので、.html だと、これを閉じた後、 次に開く窓にその大きさが受け継がれてしまう。 拡張子を .hta にすればブラウザとは無関係になる。がネットスケープなどでは使えなくなってしまうか。


JavaScript/HTML 簡易参照 兼 貼付けメニュー

梱包圧縮(lzh) (133KB程)
JavaScriptとHTMLを書く(書けるようになる)為に作った、ノート兼 道具。(内容に正しさは無し)
使用法は、 簡易参照ノート(兼 貼付けメニュー)の説明 (別頁)に。
総量380KB程、複数のファイルを文書内フレームに取り込むのと、 テキストからスクリプトでHTML文を作っているので、表示迄に時間掛かるのが難。
初出、2001.7
以下の5つの部分(内容)から成る ( 文書内窓に呼込んでいる )。
このクリックは止めた方がいい。一つだけで、全部の圧縮ファイル以上のサイズあり。
スクリプトとスタイルのファイルは、他と共有しているので、上のファイルより一つ上のフォルダに置いてある。
スクリプト(でなく言語一般でも)やHTMLなど、こういうものでも作らないと、書けるものでない。 とてもじゃないが覚えられる訳ないし (使い捨ての知識かも知れないものを覚える事自体あほらしいと思うが)、 調べながらというのも 何度も同じ事をしていたりする。

エディタの入力補完も使うとしても、文字の綴りの後半が判らないと いうようなレベルまでいかない。

クリップボード関連のソフトに付いてる短文メニューで、 JavaScript/HTML の入力支援にしていた。 ところがこれで、短文メニューが量的に目一杯になってしまう。

それをこれに移したのだが、元が短文メニューなので、 補足説明を書いておくという事をほとんどしてなかった為、 何だかよくわからなくなってしまったところ多数。 しかし調べ直すのは御免だし、どうやって知ったのかよく判らない部分も。

参考にしたもの、

マイクロソフトのWebサイトにある、JScript や WSH の文書( ダウンロードできるものが置いてあるのだが、判り難いかも)、 http://www.microsoft.com/japan/developer/scripting/
これらで判る訳ないし、ちょっとひどいのでは(訳がなのか元がなのか?)と思うのだが。
他に、http://www.microsoft.com/japan/developer/workshop/ にある内の一部

本では、古旗一浩 JavaScript ポケットリファレンス、HTML も同一人物のxxタグ辞典、 (知りたい事は書いてないし、引き辛い(HTMLの方)が、結局一番役立っているかも。 他に持ってないのだから当り前か)。他は、図書館(ろくなものないかずっと貸出し中か)。

Web は苦手(気軽に使えないし、調べ方・探し方が下手)なのであまり参考にしたとは言えないのだが、 部分的な知見はあちこちで拾い集めた。

WSH に関しては、http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/ 、 (vbsを判らない為、ちゃんと読んだとはいえないが)。

Netscape 6 に関しては全く判らず、ただ使って知るのみ。

IE は(読んでないが)、MSDN ライブラリに、Dynamic HTMLのリファレンスがある様。 http://www.microsoft.com/japan/developer/ (から行けると思うが、よく判らず)。

本当のところというか、どうなのかというのが判らない。 JavaScript だか何だかの規則や動作、ブラウザのオブジェクトのそれらが、 どうなっているのか、判らないまま使うのは、うんざりする。どこかには書いてあるのだろうけれど。



ブラウザ利便

梱包圧縮(lzh) (41KB程)

HTML とその中のスクリプトを記述する時の便宜の為のもの。 ブラウザ窓のオブジェクトを調べるなど。 閲覧時の便宜も多少可能だが重すぎ、簡便でない。

IE 5.5〜、Netscape 6 で可。

Netscape 6、最初、スクリプトを別ファイルにしていなかった時、 読込まれるまでの時間が妙に長いので(20〜30秒、固まったかと思ってしまうが、大丈夫な様)、 何かまずい方法を使っているかとは思ったが、 スクリプトを分離すると、読込が一瞬で済む様になった、結局、何?。

IE(一時ファイル)中のHTMLファイルと、ローカルファイルの間では、うまくいかない。

初出、2001.12、 2002.1.7 改善、 2.1 増改、3.25 修正(IE6、N6.1〜の為)

使用法、説明

調べたいHTML頁の読込み方。

[ファイルパス入力欄] (【開く】の面の上部にある) に、
パスを入力して、どれか[開く]ボタンを押す。

入力なしなら、空白頁を開く。

各 [開く] ボタンの違いは、別窓を出すか、内側枠内に開くか、など。

窓を開くと、その頁について調べる為の面を表示する。

開いた窓の頁を移動した場合は、
この面上部右側の [再調査] ボタンを押すと、新しい頁を捕え直す。

最初、空白頁を出して置いて、それにファイルを落した後、 このボタンを押せば、ファイル名入力の手間が省ける。

[開く]時、読込みよりタイミングが早すぎた場合、 [再調査] ボタンで、もう一度捕え直すと直る場合あり。

移動先が、ローカルファイルから、Webファイル(一時ファイル)へだと、 捕え直しは、無理の様。

別法として、調べたいHTMLファイルに、 これへのリンク(Aタグ)を一時的に書いおいて、
〜 <A href="これ" target="_blank">これ</A> とする必要あるが 〜
それをクリックしてこれを呼出す。
Windows の IE では、 頁の右クリックメニューから呼出す様に、レジストリに登録する方法あり。
また、[ IE 窓群一覧] から、既に在る窓について調べる事も可能。 但し、これが Web 上にあるなら使えない。ローカルにあっても、普通は、警告が出る。
追記、更に別法あると云う。「お気に入り」又は「ブックマーク」を使用。 IE では、

[InternetShortcut]
URL=javascript:void open("file://X:/...../browser_u.html");

という内容の拡張子 .url のファイルを作って、Favorites フォルダに置く。
エクスプローラの時は、クリックするとまずい。

Netscape では、[ブックマーク] の「場所」に、

javascript:void open("file://X:/...../browser_u.html")

と入れる。

窓のバーのアドレス入力欄に、この、javascript:〜 を入れても可能。

[実行(評価)] 入力欄

オブジェクトの名を入力して、[Enter] か [+プロパティ一覧] ボタンを押す。
例えば、document と入れて押すと、document オブジェクトが持つプロパティを一覧表示。

入力欄が空で押した場合は、window と入力されている事にする。

表示場所( すぐ下に表示か、別面にか )は、チェック欄で変更

[実行(評価)] ボタンは、値を表示する(すぐ下にのみ)、または設定、或いは、メソッドを実行。

入力欄で [Enter] 押した場合も同じ。ただし入力がオブジェクト名なら、 プロパティを一覧表示。

表示されたプロパティ一覧中のオブジェクト項目については、
クリックすると、入力欄へその名前を入れるので、
そこでまた [Enter] か、ボタンを押すと、階層を下れる。

Netscape の集合オブジェクトの場合、一覧されず、 length プロパティーの値のみ出るので、自分で、集合[数] と入力する必要あり。

イベントオブジェクトを調べる工夫をしてない。

この欄は、設定や、関数の実行も出来るので、何らかのテストも可能。 コマンドライン入力欄の様になっている (eval 命令に突っ込んでいるだけだが)
複数の命令は、セミコロン区切り。

(この欄を1行入力欄でなく、テキスト欄にしてしまえば、 関数等も追加できるはずだが、それなら直接ファイルに書込む方が早いか。)

広域(グローバル)の変数や関数は、 IE の場合、プロパティ一覧には現れないが( アクセスは可能 )、 Netscape では、window オブジェクト下の一覧に現れる。

Netscape 6.1〜 は、要素オブジェクト下の一覧にメソッドも。

【開く】の面の [実行(評価)] 入力欄については、
例えば、1+1 等も可能( 入力文字をそのまま eval 中に入れているので )。

この面では、自分自身についての window オブジェクトを一覧するので、 ただ要素などのオブジェクト・プロパティに何があるかを調べたい場合、 他のファイルを開かなくとも、ここでも出来る。

各窓についての面のこの入力欄では、

調べる対象の窓に、eval をやらせられる場合は、 色々調べるのも楽なのだが、できない事が多い。NN では全く不可、 (alert 等なら可能なのだが)

そうでない場合、こちらの eval を使い、 「 対象窓のオブジェクト.何々 」と云う形にしている。

この時、コードの中途に入る相手側の変数・関数名などは、 こちら側からみた名前にしないとならない。相手側は、「 対象窓 」という 名前(変数)にしているので、「 対象窓.変数・関数名 」となる。 コードの先頭では「 対象窓. 」を付加するのでこの必要はない。

この入力欄の最初に、\\ を入れてから、 入力すると、その窓の window オブジェクトでなく(「 対象窓. 」を付加せず)、 単に、eval 命令を実行 (するようにしておいた)。

その他のボタン等

各窓の面の [現在のHTML文] ボタン
ソースではなく、現状の文。( スクリプトで表示を変更している場合などに中を調べる為に )

但し、IE では、ブロックタグ前に改行付くだけなので、見づらい。 ( brタグがあれば改行を付け足す様にはしたが。 \n や \t は、スクリプト、スタイル、コメント等では、 現れるが、普通の要素中では落されてしまっている様。)

Netscape では、文中に、\n \t 等入れておけば反映される。

スタイルシートの [有効/無効]

[有効] とあるのは現在の状態。押すと無効にする。

見づらい頁(細かな字など)が、スタイルシートで指定されているなら、 見易くなる事もあるが、余計判りづらくなる事も。

文字色/背景色 の反転

Netscape では、デフォルトの文字色が、document.fgColor に 現れないので、文字色は、空である事多い。

より下位のタグで、色が指定されていれば、 これを変更しても、無効。それに、他の指定色との兼ね合いもあるし。

スクリプト [有効/無効] は、効かない。

もっとも、読込まれた後で無効にしても、あまり意味はないかも。 一時的にとか窓毎にとかで簡単に切替える方法はないものか?

[ソースの表示]
スクリプトやスタイルシートの外部ファイルのソースをエディタで開く。
IE のみ可。Netscape では無効(パスをそのまま渡す様にしたのでブラウザで表示されるかも)。

余計だが、関連付けされているエディタは、メモ帳などではなく、 文字コードや改行コードを色々理解できるものが必要。

[フォルダ開く]

Webファイルなら、そのディレクトリの index.html などになる。

文書内見出し [一覧]
一時的に目次を作ろうという試み。クリックで、その場所へ頁内移動。(スクロール にした方がよかったか)
文書内リンク/画像の [一覧]
リンクの一覧の結果表示面の [自動連続読込み] は、無効。

ブラウザに勝手に読込ませて、後から見ようと考えたのだが、 「アクセスできない」エラーなどが生じる。 IE でローカル内では、可能だが、意味ない。
Netscape では、それ以前に、各読込みが完了したかどうか、知る方法が判らない。
そういう事が出来る専用のソフトがあるとは思うのだが、 知っているのは、ブラウザのキャッシュとは、別の所に 階層なしにファイルが作られるので、見るには困る。

[一覧(編集用)] は、テキスト欄にその一覧を出す。

画像の [一覧] は、意味ないかも。

IE の場合、

IE のエディタモード
頁に直接、書込み可能になる。

が、書込み後の内容をファイルとして保存するには、
ローカルなら、「名前を付けて保存」で、現在内容が保存される様。
Webファイル(一時ファイル)なら、これでは元の内容のままで、 [ソース表示]の方に、現在の内容が出る。
空白頁も、Webファイルと同様、エディタから保存が必要。

編集と云っても、、
改行すると、P タグが入る。Shift + Enter で改行(BR)。
Ctrl+i 、Ctrl+b 、Ctrl+u で、イタリック、ボールド、下線付きの文字になる。
文字選択後、Ctrl+k でリンクにする、リンク直後の Backspace でリンク止め?。
画像などを掴んで移動可、Delete で削除、右メニューから追加。
等くらいしか判らず。

しかし、IE が落ちる様。何がいけないのか不明。 インナーフレーム(頁内窓)ですると、全くだめ。外窓でも落ちることある。

【開く】の面の [この IE 窓] [ IE 窓群一覧] 、[ IE 窓で開く]

これが Web 上にあるなら使えない。 ローカルにあっても、普通は、警告が出る。

[オンライン/オフライン]
は、[オフライン作業] とはまた、異なるものの様。
押しても [オフライン作業] にはならず、 [オフライン作業] 中でも、これは [オンライン] のまま。
ただ、これを「オフライン作業」中に [オフライン] にすると、 [オフライン] でもしつこく出てくる「接続しないと見れないぞ」警告が出なくなる。

DropTarget [許可]
は、ファイルアイコンを窓中に落した時、 それを開くかどうかの許可。しかしこれはうまく働かない様。

ToolBar/MenuBar
は通常無くせないメニューバーを消せるだけ。

[可視/不可視]
も意味なし、一応、不可視にしてそのままなら、 終了時に戻す様にはしてある、また自分自身にこのボタンを出さない様にも。

[ IE 窓群一覧]
現在開かれている、IE か フォルダ(エクスプローラ)の窓。 フォルダ窓に、[調べる] を押しても、何ができるのかは、判らない。

IE_App の [プロパティ一覧]
これは、ブラウザのオブジェクトと違って、自分自身を開示しないので、 出てくるのは、知りえたものだけ。きちんとした説明が 何処に在るのか知らないので、何とも言えない。

色々してると、IE が落ちるだけでなく、Windows も巻込んで、 三つボタンも効かず、電源ボタンを押し続けないとならなくなる事もある様。 何か変な事を書いてしまっているのか、 IE アプリのオブジェクトを取るあたりがまずいのか?

ブラウザ随時利便、試行

2002.9

ブラウザ随時利便_試行.html(ソースhtml)
「ブラウザ利便」を別の形に。

随時書き換え部分.js(ソースhtml)、
上に付属、その時々の作業を書く部分。

IEの窓オブジェクトを調べる

2000.10 、梱包圧縮(lzh)

IE 5.0 〜 のみ。これはまともには動かないかも。 読込み直後のエラーは、更新ボタンを押すと直る様だが。 まだ文法も知らないうちに書いたので、中身はひどい。



雑記

2001.4

Netscape 6

Netscape 6.0 と 6.1 〜では、かなり違う?
( 最近、6.2 を使い始めたら今までのものが、まともに動かない事が判り、 6.1 も試してみると既に変わっていた。 )

イベント.button (ボタン)

onmousedown onmouseup onclick イベントの時のマウスボタン。

6.1〜では、左(正) 0、中 1、右(反) 2、か?

6.0 では、 左(正) 1、中 2、右(反) 3、(NN4.x と同じ?)

IE では、 左(正) 1、中 4、右(反) 2、だが、onclick 時は、0 。

onclick イベント、

Netscape では、onclick イベントがどのボタンを押しても起きるので、 どれが押されたか知る必要ある。

と思っていたら、要素には、左(正)クリックしかない。 document 以上で、中、右(反)クリック有りだった。

IE では、左(正)クリック時にしか、onclick イベントは生ぜず、 その時、イベント.button は、0 (なし)。

取敢えず、if(種類=="click" && ボタン< 2) と応急処置をしたのだが、
これでは、中クリックでも入ってしまう。( 実は、中ボタン 1、は今 確認の為、中ボタンを別の事に使う常駐ソフトをはずしてみて知った次第 )。 Netscape 6.0 を無視するなら、(種類=="click" && !ボタン)、でいいか?

要素の位置( 要素.offsetTop、要素.offsetLeft )

position:absolute(絶対位置指定)である要素の中の 子要素の位置(offsetTop/offsetLeft)の出し方が変わった。

6.0 では、body?(か表示枠か調べていないが)の始点からの位置(距離)であったのが、

6.1 では、絶対位置指定の親(祖)要素の始点からの位置(距離)になった様。

この情報が、必要なのは当たり前だが。 多分ブラウザには自明な pageX/Y... だかの情報が、 使用者に計算を強いるのは(簡単に出す方法があるのかも知れないが) どういうつもりなのか、という相手はまず IE の方か(event.x y はそれだったか?)。

バージョンの判定は、

どこで判別していいものか知らないが、 6.1 の navigator.userAgent では、Gecko/20010726 とあったので、
if( parseInt( navigator.userAgent.replace(/.*Gecko\/(......).*/, "$1") ) < 200107 )
としてみたが、

6.0 は無かったものとした方がいいかも知れない。

IE 6

html でないファイルを表示した時、その文が、XMP タグで囲まれていたのが、 PRE タグに変更された様。( Netscape は、PRE )

open をタグ中で使うとだめ?、window. を付けると大丈夫の様だが。 NN6.2 もなので、タグ中では、window を省略できない規則でもあるのか?

インストール時に、VBスクリプトサポートも加えると (ダウンロード時間を短くしたいので、vbs は使わないから要らないと思ったら、そう云う事でなく) WSH がバージョンアップされる様。(ファイルの関連付けやらも勝手に直されてしまう様だが)。

IE 6 にすると、エクスプローラの左側「フォルダ」ビュー(階層表示)の 文字のない部分を(その左、点線部分も) クリックしても、 フォルダが開かれる(移動する)ようになってしまう。 ひどく使いづらい、止めさせる方法ないものか。
他にも何と特定できないが、妙な動作をするようになった気がするが、 不信の先入観がそう思わせているのかも。


最初の(目次)頁へ戻る次頁