このコーナーを楽しむために最新のHTMLを使う際に、どうしても避けて通れないのがWWWブラウザーの互換性の誰よりも早く最新のHTMLを使ってみたい問題だ。そこでこのコーナーでは、TIPSご

大内 勇／編集部とにブラウザーの対応状況をアイコンで表している（8月10日現在）。これを参考に使用するWWWブラウザーを選んでほしい。

このコーナーのファンにはうれしいお知らせだ。この連載の単行本がついに「ホームページ裏技大全

3

HTML TIPS & TRICKS」として発売されることになった。第1回以来の120以上の技と60問のパズルが一度に手に入るお得な14冊だ。発売日は9月下旬の予定なので期待して待っていてほしい。それでは今5月もちょっとした裏技から役に立つスクリプトまで幅広くお届けしよう。
3

今月のサンプルソースは下記のURLで公開している。
Jump internet.impress.co.jp/magnavi/ip9910/htmltips/

4

インターネットエクスプローラ3以上
インターネットエクスプローラ4以上
インターネットエクスプローラ5以上
ネットスケープナビゲーター3以上
ネットスケープナビゲーター4以上

9月号「HTMLパズルに挑戦しよう」の解答
今回は少々知識の必要な問題だったが、果敢にもチャレンジしてくれた人が多かったのはうれしい。第1問について言えば、JavaScriptの新しいこの機能はこれから普及すると思われるのでぜひチェックしておこう。第2問は、マイクロソフトのサイトなどを細かく調べれば答えが見つかるはずだ。

A N S W E R

1 メールアドレスをチェックせよ！

matchメソッドを使って「何々@何々」を判別する。引数には正規表現用の文字列を表す「/〜/」を指定すると手っ取り早い。
「¥w+」は「英数字かアンダーライン（ ̲ ）が1文字以上」を表す。
function checktext (text) {if ( text.match ( /¥w+@¥w+/ )) return true;
alert ("メールアドレスを入力してください"); return false;}</SCRIPT><FORM METHOD="POST" ACTION="…"
onSubmit="return checktext ( this.mail.value);">……<INPUT TYPE="text" NAME="mail">A N S W E R

正解者：齊藤貴志さん、良知敬介さん、谷口勝宣さん、鹿倉隆さん

2 キーワードにジャンプせよ！

scrollIntoViewメソッドを使えば、そのタグが見えるように自動的にスクロールされる。残念ながらこのメソッドを使って解答した人はいなかったが、スクロール関連のほかのメソッドを使った解答は正解とした。
text = tags [ i ].innerHTML;if ( text.match ( re )) {tags [ i ].scrollIntoView (); break;}

312 INTERNET magazine 1999/10

正解者：齊藤貴志さん、谷口勝宣さん

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

T IPS & T R ICKS

1
お気に入りのアイコンを指定する
5
今月は初めにIE 5に追加された機能を使ったちょっとした技を紹介しよう。左のサンプルを見てほしい。アドレスバーとエクスプロー
ラバーの中に見慣れないものがあることに気づいただろうか。アドレ
スバーのURLの左にあるアイコンとお気に入り一覧の中のアイコンの1つが、この記事で使われているマークに変わっている。ほかのページではいつものHTMLファイルのアイコンが表示されるだけだが、このページではオリジナルのアイコンに変わるのだ。いったいどうやっているのだろう。この方法がわ
かれば、自分のページを表すかっこいいマークを作ってお気に入りの中で目立たせることができるぞ。

d<LINK REL="SHORTCUT ICON" HREF="htmltips.ico">

この仕掛けはいたって簡単だ。外部スタイル

このアイコンはページを読み込んだだけでは表示

ただし、この方法では同じディレクトリー上にあるシートを指定するのと同じ要領で、上のソースのされない。ユーザーが「お気に入りに追加」を選んページのアイコンがすべて同じものになってしまう。

ような1行の<LINK>タグを<HEAD>〜</HEAD>だときに<LINK>タグで指定されたアイコンファイ個別に指定したい場合は<LINK>タグで指定すれの間に追加するだけだ。HREF属性にはアイコンルがダウンロードされ、お気に入り一覧の中に表ばいい。になる画像を指定するが、画像の形式はGIFでも示される。またアドレスバーのアイコンは、お気にBMPでもない。ウィンドウズのアイコン形式（拡張入り一覧の中のアイコンをクリックするなどして、IE 5のこの新しい技はなかなか面白いものだが、子はICO）を指定しなければならない。

もう一度このページを訪れると表示されるようだ。

まだ機能としては未完成のようだ。何かの拍子でアイコンファイルを用意するのは少々面倒だ。こ

アイコンをこのように表示させる方法はもう1つあファイルを変更したのに同じものが表示され続けの形式のファイルを作成できるソフトウェアを持っる。
「favicon.ico」という名前のアイコンファイルたりする。とりあえずお遊び的に使ってみるのがいている人は少ないだろう。
「窓の杜」や「Vector」なを作り、トップページと同じ場所に置く方法だ。たいだろう。

どのサイトでアイコンファイルが作成できるソフトをとえば1のようなURLのページにアイコンを指定

なお、この機能に関連した IE のセキュリティーホ探そう。Vectorでは下記の場所にアイコン関連のしたい場合は、アイコンファイルが2のようなURLールが発見されている。修正プログラムは下記のソフトが集められている。になるようにする。

ページから入手できる。

アイコンが表示されなくなってしまったり、アイコン

Jump

www.vector.co.jp/vpack/filearea/win95/
amuse/icon/tool/index.html

1 http://www.****.ne.jp/~user/Jump

2 http://www.****.ne.jp/~user/favicon.ico

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

www.microsoft.com/windows/
ie_intl/ja/security/

INTERNET magazine 1999/10313

T IPS & T R ICKS

2
画像を自動的に入れ替える
3445

ダイナミックHTMLと言えば、IE4とナビゲーター4以降で使えるもので、ナビゲーター3 のユーザーは残念ながらあきらめるしかないと思ってはいないだろうか。しかし、ナビゲーター 3 にも ダイナミック
HTMLらしいことができる機能がある。それは<IMG>タグで指定した画像をスクリプトで入れ替える機能だ。左のサンプルは4月号で紹介した「スライドショーを作る」を改造したものだ。4月号ではボタンを押して画像を切り替えるものだ
ったが、ここではページを読み込むと何もしなくても画像が次から次へと切り替わっていく。古いブラウザーでも工夫次第でダイナミックな動きが表現できるのだ。

d<BODY onLoad="setTimeout ( 'timer ( ) ', 3000);"><IMG SRC="img1.jpg" NAME="img"><SCRIPT LANGUAGE="JavaScript">
var num = 2;function timer ( ) {if ( document.img.complete) {document.img.src = "img" + num + ".jpg";
num++; if (num > 5) num = 1;}
setTimeout ('timer ()', 3000);}</SCRIPT>のように指定して、3000ミリ秒後（3秒後）に関数する。関数timerの最後には再びsetTimeoutメ

メーションGIFを使う手もあるが、大きな画像を切「timer」が呼び出されるようにする。

ソッドを呼び出して、3 秒後にまた画像が入れ替わり替える場合には、アニメーションGIFでは1つの画像を表示させる部分には<IMG>タグを置く。

るようにする。

ファイルが大きくなりすぎて読み込みに時間がかNAME属性で「img」という名前を付け、SRC属

このように一定 の時間おきに何かの動作を行わかる。アニメーションさせたい画像を別々のファ性で最初に表示させるファイル名を指定する。

せるにはsetIntervalメソッドを使う手もあるが、このサンプルと同じようなことをするのにアニsetIntervalはナビゲーター4とIE 4以降でサポーイルにしてスクリプトで切り替えれば、すべての画像を読み込む前に1コマ目の画像がすぐに表示さその次が画 像を入れ替えるスクリプトだ。変数トされたものなので、ナビゲーター3では使えないれる。つまり反応の速いページが作れるのだ。

「num」には画像の番号を入れておく。最初に入ことに注意。

れ替える画像は「img2.jpg」なので、「num = 2」
それではソースを見てみよう。ソースはこれまで何とする。

なお、スクリプトで画像を入れ替えるときの表示

度も取り上げたアニメーションのスクリプトと同じ一定の時間おきに画像を切り替える関数「timer」

は、IEとナビゲーターで異なる。IEでは縦横の長パターンなので、すぐに理解できるだろう。スクリを記述しよう。変数numを使って組み立てたファさが違う画像に交換すると、その画像の長さに合プトで切り替える画像には、順に「img1.jpg」、イル名を「document.img.src」に入れて画像をわせて表示が変わる。ナビゲーターでは最初に表「img2.jpg」、……のようなファイル名を付けてお切り替え、numの値を増やしていけばいい。1つ示された画像の長さに固定され、入れ替えた画

く。このサンプルでは画像を5個用意した。の画像を読み込んでいる最中に次の画像を指定像は縮小されたり拡大されたりする。2つのブラ<BODY> タグにはonLoad イベントでsetTimeoutメソッドを「setTimeout ( 'timer ( ) ', 3000 ) ;」してしまうのを防ぐため、「document.img. com-

ウザーできれいに表示させるには、初めから各画plete」で読み込みが完了したかどうかをチェック

像の縦横の長さを統一しておくといい。

314 INTERNET magazine 1999/10

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

T IPS & T R ICKS

3
立体文字を手軽に作る
445

まずは左のサンプルを見てほしい。まるで画像作成ソフトで作った3Dのバナーのように見えるだろう。実はスタイルシートで位置を指定した文字を重 ねることで立体的な文字に見せているのだ。読者の中には、スタイルシートを指定したタグを1つ1つ入力して同じような表現を演出している方もいるだろうが、今回のTIPSではJavaScriptを使ってタグを連続して出力させ、簡単に立体文字を作る方法を紹介しよう。このテクニック
はナビゲーターとIEのバージョン4以上であれば同じ効果が得られるので、ブラウザー間での互換性を心配する必要はない。それではさっそくソースを見てみよう。

d1<STYLE TYPE="text/css">
DIV { position:absolute; color:gray; font-size:50pt }</STYLE>2
var NN = 0, IE = 0;
var Ver = navigator.appVersion.charAt (0);if (navigator.appName == "Netscape") NN = 1;
if (navigator.appName == "Microsoft Internet Explorer")
IE = 1;
var str = "HTML<BR>TIPS&amp;TRICKS";

ソースをぱっと見て「今回のソースは長いなあ」と感じた読者の方は多いかもしれない。もう3if (( IE == 1 || NN == 1) && Ver >= 4 ) {for ( i = 0; i <= 10; i++) {tag = "<DIV STYLE='left:"+ (50+i ) +"px;top:"+( 50+i ) +"px;";
if ( i == 10) tag += "color:white";tag += "'>"+str+"</DIV>";
document.write ( tag);}}

ので説明を省略する。最後の行では、立体にすのサンプルではソース1で「position:absolute」る文字列を変数「str」に入れている。

を宣言しているので、ページの左上が基点（left一度よく見てほしい。ソース1はスタイルシートの=0,top =0）になる。<DIV>タグの位置指定（left指定だし、ソース2はこのコーナーではおなじみ実際に立体文字を表示させる部分であるソースとtop）をiを使って少しずつ変えることで、CSSレとなっているナビゲーターとIEを判別する部分だ。

3を説明しよう。

イヤーが 1ピクセルずつ左下に向かってずれながソース3はちょっと難しくなっているが、これはあ

ソース3はIEとナビゲーターの4以上の場合に処ら重なって表示され、結果的に立体文字のようにとで詳しく説明する。まずはソース1と2を簡単理される。if 文の中をfor文で囲って「i」の値を0見えるのだ。leftとtopの位置指定に「50+i」といに説明しよう。

から10 まで 1ずつ加算している。こうすることでう指定があることに気付いたと思うが、この50とfor文の中が11回処理されるのだ。for文の中では立体文字を構成する最初の<DIV>タグが表示

ソース1で重要な部分は｢position:absolute｣

は、スタイルシートの内容が少しずつ 違う<DIV>される位置で、この値を変えれば任意の位置にだ。立 体 文 字 は座 標を指 定 して配 置 するのでタグを作成して変数「tag」に入れ、「document.

立体文字を表示できる。

｢absolute｣を指定しなくてはならない。ほかの部write」を使って表示する。

分は文字の色と大きさなのでページのデザインを<DIV>タグの位置はCSSポジショニング（スタイ

なお、ソース3では最後 (「i==10」の場合 ) に表考えて適切に指定してみよう。今回は、ここで指ルシートレイヤー：以降「CSSレイヤー」と略す）に示されるタグの文字色を「tag += "color:white";」

よって指定されている。CSSレイヤーとはスタイで変えている。これで立体文字の前面が白にな

ル指定にpositionプロパティーがあるもので、そるので、さらに立体らしい演出ができる。

定する色が立体文字の側面の色になる。
ソース2は今までの連載で何度も説明しているの位置を「left」と「top」で指定するものだ。今回

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

INTERNET magazine 1999/10315

T IPS & T R ICKS

4
新しいウィンドウを全画面で開く
4

5

左のサンプルを見て「あれ？」と思った方は多いだろうが、これはブラウザーの画面をまるごと写しただけのものだ。いつもならタイトルバーやメニューバー、ステータスバーが表示されているのに、このサンプルでは何も表示されてない。すでにお気付きだと思うが、ここで紹介するTIPS は、エクスプローラ4以上の全画面表示モードを使ったものだ。全画面モードを使うと、左のサンプルのように余計なものは一切表示されない。ページのデザ
インに凝っている人は使ってみるといいだろう。ただし、全画面モードはサブウィンドウでしか実行できないので、用途をしっかりと考えてからチャレンジしてみよう。

dwindow.open ("sample.html","","fullscreen=1");

このコーナーとしては珍しく、たった 1行 のソ

プルではウィンドウ名を使って操作することがない<INPUT TYPE="submit"ースなので気が抜けてしまったかな？「説明なんので空文字列（指定なし）にしている。3番目の引て読む必要ないや」と思った方もいるだろうが、そ数の「"fullscreen=1"」が全画面モードでウィンド

VALUE="ウィンドウを閉じる"
onClick="window.close ()">

うあわてずにまずは説明を読んでほしい。今回はウを開くオプションだ。
「"fullscreen=1"」の「1」

このようにソースが短いので、JavaScript 初心者の部分には「1」か「0」を指定でき、0を指定した「全画面モードにはなるけどスクロールバーが表示を対象にしてじっくりと説明するぞ。

場合は通常の画面の大きさで新しいウィンドウがされて邪魔だ」という方は、3番目の引数に「scroll開かれる。

bars=0」を追加してみよう。つまり、3番目の引数「window.open ( )」。これは新しいウィンドウを開くメソッドだ。本来は「変数=window.open ( )」と次の説明はたいへん重要なので忘れずに読んでだ。これでスクロールバーが消える。

するのだが、このサンプルでは返された変数を使ほしい。全画面モードで開いた新しいウィンドウ3番目の引数にはさまざまなオプションを設定できって操作する処理がないので省略して記述した。

はタイトルバーが表示されないので、通常なら右る。以下に主なオプションを載せておくので、自次は「open」のかっこ内の説明だ。このサンプル上にあるはずのウィンドウを閉じるボタン（「×」ボ分で設定して動作を確認してみよう。

では3つの引数「"sample.html"」、「""」およびタン）がないのだ、そのため制作者が閉じるボタ「"fullscreen=1"」を指定している。1番目の引数ンを用意しなければならない。それには以下のタ

menubar =1または0

toolbar =1または0には、新しく開 いたウィンドウに読み込むHTML

グを新しく開かれるウィンドウ側のソース（今回のlocation =1または0

status =1または0

ファイルを指定 する。2番目の引数は新しく開 い場合はsample.html）に入れるといいだろう。

width =ピクセル数

height =ピクセル数

全体を「"fullscreen=1,scrollbars=0"」にするのたウィンドウに付ける名前になるのだが、このサン

316 INTERNET magazine 1999/10

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

T IPS & T R ICKS

5
HTML+TIMEを使う
5
左のサンプルページを表示させると、「H T M L 」、「T I P S 」、「& 」、「TRICKS」という文字が順に表示されては消えていく。
「TRICKS」
が消えるとまた「HTML」から順に表 示される。これはダイナミック
HTMLではおなじみの表現だ。Java
Script が得意な人なら、「style.
display」や「setTimeout」などといった言葉がすぐ頭に浮かぶだろう。ところがこのサンプルではJavaScriptは一切使わずに、タグに指定した属性だけでこれだけの動きを作り出しているのだ。それではいったいどんな仕掛けを使っているのだろうか。答えはIE 5で新しく登場したHTMLでメディアの同期をサポートする機能「HTML+TIME」だ。

d1<STYLE>.time { behavior: url ( #default#time ); }</STYLE>

2<DIV CLASS="time" t:REPEAT="indefinite" t:DUR="10" t:TIMELINE="par"><SPAN CLASS="time" t:BEGIN="0" t:DUR="4">HTML</SPAN><SPAN CLASS="time" t:BEGIN="2" t:DUR="4">TIPS</SPAN><SPAN CLASS="time" t:BEGIN="4" t:DUR="4">&amp;</SPAN><SPAN CLASS="time" t:BEGIN="6" t:DUR="4">TRICKS</SPAN></DIV>

HTML+TIMEとはマイクロソフトが提唱してIE 5 のHTML+TIME はXML機能を利用している。

4つの<SPAN>タグを囲む<DIV>タグは、こうしいるHTMLの拡張で、時間的な同期機能をHTML「behavior」の値には「url ( #default#time ) ;」をた表示効果をまとめる働きをする。
「t : REPEAT」に導入するものだ。W3Cで標準化され、リアルネ指定 するが、これはHTML+TIMEを使うときのおは表示効果を何回繰り返すかを表す。
「5」を指定

ットワークス社のリアルプレイヤーG2でサポートさまじないだと思っておけばいい。

すれば5回、「indefinite」を指定すれば無限に繰

次にソース2を見てみよう。ここが実際に表示さった表示効果を1回につき10秒間実行することを

HTML+TIMEを使えば、このサンプルのようなテれたり消えたりする文字だ。<DIV>〜</DIV> の示す。
「t:TIMELINE="par"」は4つの<SPAN>タ

キストだけではなく、画像や音楽、動画などのい間に4つの<SPAN>タグがある。<SPAN>タグのグがばらばらに動 作 することを指 定 する。
「t:ろいろなメディアをブラウザー上で同期させながらほうを先に解説しよう。CLASS属性にソース1

TIMELINE="seq"」とすれば、1つの<SPAN>タ動かすことできる。

で指定したクラス名「time」を指定して、HTML+グが表示されて消えてから次の<SPAN>タグの動TIMEの機能を使うことを示す。
「t : BEGIN」と「t:作を始めることになる。

IE 5でHTML+TIMEを使うには、まずソース1のDUR」はHTML+TIMEの属性だ。
「t : BEGIN="2"」

ように同期機能を取り入れるタグをスタイルシーとするとページが表示されてから2 秒後にタグのこのサンプルでは簡単なテキストだけを使ったが、トで指定する（ここでは「.time」というクラス名で表示が開始され、「t:DUR="4"」とするとこのタグ<IMG>タグでHTML+TIMEの機能を使えば、ペ指定）。スタイルシートのプロパティーは、この連は4 秒 間だけ 表 示される。 t : B E G I N で 4 つ のージ上のあちこちに画像が現れては消えるような載でIE 5のXML機能を紹介したときに何度か出<SPAN>タグの表示を開始する秒数をずらせば、効果を作ることもできる。てきた「behavior」
だ。もう気付いているだろうが、次々に表示されては消える効果が出せる。

れたマルチメディア用マークアップ言語SMILの世界をブラウザーに持ち込もうとするのが目的だ。

り返すことになる。
「t:DUR="10"」は、このまとま

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

INTERNETmagazine
magazine1999/10
1999/4INTERNET317

HTMLパズルに挑戦しよう
隠されたトリックを解き明かせ！

今月のテーマフォームを制する
フォームは HTMLの 基本的な機能だが、これまであまり使ったことの な い人も多い のではないだろうか。最近では、プロバイダーが提供するCGIを使ってメール送信フォームを作ったり、フリーのCGIプログラムを借りて掲示板を作ったりし「HTMLパズルに挑戦しよう」
宛 先て、<FORM>タグを自分で書く機会も増えてきた。そこで今月は、フォDームを使ってページにちょっとした効果を付けるためのパズルに挑戦し正解がわかった人も、わからなかった人も、ご意見、ご感想など何でもOK、次の宛先にメールしよう。用件の欄には必ずHTML TIPS＆TRICKSの1行を忘れずに。あなたの挑戦を待つ！てみよう。トリックがわかったらすぐに解答を送ってきてほしい。正解者には抽選で1名にオリジナル折りたたみ傘をプレゼントさせていただく。
なお、正解は来月のこのコーナーで発表する。それでは頭をやわらかくして、今月のテーマ フォームを制 する にチャレンジ！

m ip-cdrom@impress.co.jp
なお、締め切りは9月10日とさせていただく。

Q U E S T I O N

1 検索サイトに飛べ！

345

3

4

左のサンプルは、テキストボックスに語句を入力し、プルダウンメニューで選択した検索サイトでその語句を検索するフォームだ。第1問では、これを実現するためのHTMLとJavaScriptを答えてほしい。たとえばgooでは「http: //www.goo.ne.jp/default.asp?MT=語句」というURLに飛べば検索できる。それには、ACTION属性に「http://www.goo.ne.jp/default.asp」を指定した<FORM>タグとNAME属性に「MT」を指定したフォーム部品があればいい。やり方はいろいろ考えられるが、簡潔に書かれたスクリプトほど評価が高くなるぞ。古いブラウザーでも動くスクリプトなので、参考になるページも見つかるかもしれない。
ヒント

Q U E S T I O N

検索サイトごとに見えないフォームを複数作る……

2 枠と色を付けろ！

4

5

左のサンプルは、第1問のフォームを改造したものだ。第1 問では何の味気もないページだったが、ここではテキストボックス、プルダウンメニュー、ボタンの背景色がオレンジ色になり、文字の色が赤くなっている。それだけではなく、テキストボックスとボタンには赤い枠線が付いていて、いつもの立体的なフォーム部品とは明らかに見栄えが違う。このテクニックがわかれば、難しそうなフォームを作るのもぐっと楽しくなるだろう。さて、このようなフォーム部品を作るにはどうすればいいだろうか。最近ではこうしたカラフルな効果を付けた掲示板などが見られるようになってきたので、探して参考にしてもいいだろう。
ヒン
ト318 INTERNET magazine 1999/10

本誌1999年1月号……

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D［インターネットマガジン バックナンバーアーカイブ］ ご利用上の注意
この PDF ファイルは、株式会社インプレス R&D（株式会社インプレスから分割）が 1994 年～2006 年まで発行した月刊誌『インターネットマガジン』の誌面を PDF 化し、「インターネットマガジン バックナンバーアーカイブ」として以下のウェブサイト「All-in-One INTERNET magazine 2.0」で公開しているものです。

http://i.impressRD.jp/bn
このファイルをご利用いただくにあたり、下記の注意事項を必ずお読みください。
z 記載されている内容（技術解説、URL、団体・企業名、商品名、価格、プレゼント募集、アンケートなど）は発行当時のものです。
z 収録されている内容は著作権法上の保護を受けています。著作権はそれぞれの記事の著作者（執筆者、写真の撮影者、イラストの作成者、編集部など）が保持しています。
z 著作者から許諾が得られなかった著作物は収録されていない場合があります。
z このファイルやその内容を改変したり、商用を目的として再利用することはできません。あくまで個人や企業の非商用利用での閲覧、複製、送信に限られます。
z 収録されている内容を何らかの媒体に引用としてご利用する際は、出典として媒体名および月号、該当ページ番号、発行元（株式会社インプレス R&D）、コピーライトなどの情報をご明記ください。
z オリジナルの雑誌の発行時点では、株式会社インプレス R&D（当時は株式会社インプレス）と著作権者は内容が正確なものであるように最大限に努めましたが、すべての情報が完全に正確であることは保証できません。このファイルの内容に起因する直接的および間接的な損害に対して、一切の責任を負いません。お客様個人の責任においてご利用ください。

このファイルに関するお問い合わせ先
All-in-One INTERNET magazine 編集部
im-info@impress.co.jp
Copyright © 1994-2007 Impress R&D, an Impress Group company. All rights reserved.