-3

アドレスバー、アンカー、iframe.src が解決できるのはなぜjavascript:ですか。これに関する w3c 仕様はありますか?

4

2 に答える 2

2

驚いたことに、W3C は JavaScript (正式には ECMAScript と呼ばれます) とは何の関係もありません。HTML 仕様はスクリプト言語に依存せず、実際に Tcl で例を示しています。IE の全盛期には、JavaScript の代わりに VBScript を使用するページに出くわすことは珍しくありませんでした。

これを行うことが一般的になった後、ブラウザーは URI でスクリプトを評価する機能を必要としていました。

<a href="javascript: alert('foo');">click me</a>

... などの DOM イベントの代替として機能しますonclick。このメソッドは、DOM イベントが標準化される前に登場したか、特定のブラウザーへのロックインを促進するためにベンダー拡張として導入されたのではないかと推測しています ( a la <marquee>および<blink>)。しかし、これは単なる憶測です。

とにかく、ブラウザがhref=""属性を処理するときにスクリプトの評価をサポートしている場合、サポートをアドレス バーに拡張するのは簡単なことです。Bookmarklets の作成は、完全に偶然で意図的ではなかったと思いますが、それでも肯定的な結果でした。

于 2013-01-30T03:30:06.950 に答える
0

「javascript:alert('here');」と入力して、正確に「解決」するわけではありません。一部のブラウザでは、アラートボックスを表示させることができます。私が知っている仕様はありません。ページが読み込まれた後、一部のブラウザがクライアント側でjavascriptを実行するだけです。

一般に、コロン(:)の左側に何かを入力すると、それはプロトコルです。たとえば、chrome://、http://、sftp://

また、Chromeでは、JavaScriptコンソールを開いて、アドレスバーではなくJavaScriptを直接入力できます。

于 2013-01-30T02:52:32.557 に答える