- 堀北真希うさぎ
-
- 主な作品
堀北真希うさぎがソフトコンタクトを入れるイラストとその場面を含む仮想コマーシャル動画〜平成元年〜 3年(西暦1989年〜1991年)のボシュロムのソフトレンズCM風に〜
- サイト表紙
- しらぎくのウェブサイト作成入門
- JAVAスクリプト
- オブジェクト
- documentオブジェクト
documentオブジェクトは、HTML文書に関するオブジェクトです。
document.write()メソッドは、当該スクリプトを埋込んでいる位置に括弧内の文字列を書出すメソッドです。
これにより、HTMLを動的に操作することが可能になります。
- 特にJAVAスクリプトが有効で無いと意味の無いリンクなどはこのオブジェクトで書出すことで、非対応環境での無意味な表示を避けられます。
- 一部ブラウザでは256バイト以上の文字列が処理できない場合があります。この場合は256バイト未満の文字列に分解して「
+」で繋いでやる(例:ducument.write("文字列A"+"文字列B"))とエラーを回避できます。
- ネットスケープ 4.xでは絶対に改行文字(「
\n」)を書出さないで下さい。書出すとHTMLが不正になる事があります。
- シフトJISコード環境では「表」「申」「予」「ソ」など、文字化けやエラーを引き起こす文字があります。対策としては問題が起きた文字の直後に「
\」を書き足して下さい。
- 尚、XHTML文書(MIMEタイプが
application/xhtml+xmlとなっているもの)では、document.write()メソッドは使えません(MIMEタイプがHTML文書と同じtext/htmlであれば問題無く使えます)。
- 実際の利用例。
-
このメソッドは、HTML文書(「text/html」型のXHTML文書を含む)でのみ使えます。
「application/xhtml+xml」型のXHTML文書ではこのメソッドでHTML文書中にコンテンツを書き込む事は出来ません。
- 「application/xhtml+xml」型のXHTML文書では、DOMの技術を用いて要素単位で埋め込んで行きます。この方法は現行のブラウザなら一部を除いて「text/html」型のHTML/XHTML文書でも可能ですが、ちょっと前の世代のブラウザだと動作しないため、ほとんど普及していないようです。
いずれも表示色に関するプロパティです。
これらのプロパティに値を文字列形式で代入すると、表示色を変更できます。
- CSSを用いている環境での動作は不定です。これはCSSが優先するかJAVAスクリプトが優先するか分からないという事です。
- よって、CSSを用いていない環境向けと言えます。
- 実際の利用例
-
いずれもHTML文書中でid属性のついた要素をオブジェクトとしたもの(DOM…ドキュメント・オブジェクト・モデル)です。プロパティやメソッドの多くはスタイル関連のもので、これらをJAVAスクリプトなどで操作することにより当該要素の表示を動的に変化させる事が出来ます。
CSSとスクリプトを連携させて動的にページを変化させる技術をダイナミックHTMLと言いますが、ダイナミックHTMLはこれらのオブジェクトを操作する技術と言えます。
- これらのオブジェクトはCSSと密接な関係があり、CSSに対応していないブラウザには実装されません。従って、これらのオブジェクトの有無を調べる事で、CSS対応か否かを判断できます。
- document.layersオブジェクトはネットスケープ 4.x以外では実装されません。従って、このオブジェクトの実装の有無を調べる事でネットスケープ 4.xか否かを判別する事も出来ます。
- document.allオブジェクトはインターネットエクスプローラ4.x以降以外では実装されません。従って、このオブジェクトの実装の有無を調べる事でインターネットエクスプローラ4.x以降か否かを判別する事も出来ます。
- document.getElementByIdオブジェクトはW3C(ワールドワイドウェブ・コンソーシアム)が定めた標準規格ですが、ネットスケープ 4.xやインターネットエクスプローラ5.x以前では実装されません。
- 実際の利用例
-
document.imagesオブジェクトは、文書中に出てくる表示画像に関するオブジェクトです。
通常、画像はHTML文書に出てきた順に0番から順に番号が付けられます。この番号を用いて画像を扱います。例えばHTML中で3番目に表示された画像を扱うには「document.images[2]」を扱えばいい訳です。
- ネットスケープ 2.xでは実装されていない為、このオブジェクトの有無を調べることでネットスケープ 2.xか否かを判断することが出来ます。
- 実際の利用例
-
文書中(フォームの入力欄などを含む)からいわゆる反転により選択した文字列に関するオブジェクトです。
実際に選択された文字を取得するには、更にcreateRange()メソッドで実際に選択された区間のオブジェクトを生成して、textプロパティでテキスト内容を取得します。
すなわち、
document.selection.createRange().text
とします。
尚、このプロパティは読み出しだけでなく、書き込みも有効です。
このプロパティに書き込みを行った場合、当該箇所は書き込んだ文字列に置き換えられます。
- 尚、フォーム内の特定の入力欄の選択テキストだけを拾いたい場合には、該当する入力欄に対してForm.○○.focus()メソッドを実行してフォーカスを移す事で、指定入力欄以外の箇所からの文字列は拾われなくなります。
- 実際の利用例
-
クッキーの読み書きに用いるプロパティです。
- 読み出しでは文書URLで読み出せるクッキーの値を読み出せ、
- 書き込みでは指定された名前のクッキーを書き込みます。
読み出しの場合、以下の形式で読み出せます。
名前1=値1; 名前2=値2; … 名前n=値n
一方、書き込みの場合は以下のようにします。
名前=値; expires=失効時刻; domain=ドメイン; path=パス; secure
それぞれの意味は以下のようになります。
- 名前
=値
- 名前で示されたクッキーに値を設定します。
; expires=失効時刻
- 当該クッキーが失効する時刻を指定します。
このとき、時刻は国際協定時で、指定されたフォーマットで記述する必要があります。
尚、この項目を省略した場合は、ブラウザのセッション中のみ有効となり、ブラウザを終了させた時点でクッキーが抹消されます。
また、時刻に過去の時刻を指定した場合、当該クッキーは直ちに抹消されます。
; domain=ドメイン
- 当該クッキーを発行するサーヴァのドメインを指定します。
省略した場合には、実際に発行したサーヴァのドメインが適用されます(この文書で言えば「www.marguerite.jp」)。
; path=パス
- 当該クッキーが読み出せるディレクトリのパスを指定します。
省略した場合、クッキーを発行したディレクトリ以下で読み出せる事になります(この文書で言えば「/Nihongo/HowToMakeYouWeb/JacaScript」)。
; secure
- この記述がある場合、暗号化されたプロトコル(https://スキーム名で始まるURL)でのアクセス時のみ読み出しが可能になります。
尚、名前や値に「=」「;」「,」コントロールコード及び日本語文字などの非アスキィ文字を用いる場合には、URLエンコードを行う必要があります。
- 実際の利用例
-
現在開いているHTML文書のリンク元となっているHTML文書のURLを与えます。
但し、あくまでもリンク元のURLと言う事であり、従ってアンカーを"クリック"してページを移動した場合のみ有効で、URLをアドレスバーに入力して移動した場合には前のページのURLは得られません。
- 厳密に言えば、HTML文書から<script>要素でスクリプトを埋め込んだ場合、当該スクリプトにとってのリンク元はその<script>要素を記述しているHTML文書であり、従ってそのHTML文書のリンク元とは異なりますが、JAVAスクリプトでは便宜上HTML文書のリンク元となるHTML文書のURLを与えるものとしております。
- 実際の利用例
-
しらぎくのウェブサイト作成入門サイトマップ