[解決済み] onclickの値に'javascript'の代わりに他の単語が使われても、ブラウザはなぜエラーを投げないのですか?
2022-12-12 07:04:36
質問
ホームページを受け継いだのですが、こんな不思議なことに遭遇しました。
<a href="/delete" onClick="jamoscript:return confirm('Do you really want to do that?');">Delete all</a>
これを含むページを表示し、リンクをクリックすると、"を変更したときと全く同じように確認ダイアログボックスが表示されますね。
jamoscript
"を"
javascript
"に変更しました。Firebugのコンソールでは、ページの読み込み時、リンクのクリック時ともに診断結果が表示されません。なんじゃこりゃ?jamoscriptでググっても面白いものは出てきません。
どなたかこの動作を説明していただけませんか?
どのように解決するのですか?
onclick"属性の文字列値は、単純なJavaScriptコードとみなされます。JavaScript には
ラベル付きステートメント
があるので、そのコードは
return
ステートメントに "jamoscript" というラベルを付けています。つまり、これです。
jamoscript: return confirm("Do you really want to hurt me?");
は完全に合法なJavaScriptです。ラベルはあまり使われないので、馴染みがない。
の "href" 属性のように、URL が期待される場合のみ、接頭辞 "javascript:" が重要な意味を持つ文脈となります。
<a>
タグの "href" 属性のようにです。
関連
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] typeofとinstanceofの違いは何ですか、また、どのような場合にどちらを使うべきですか?
-
[解決済み] JavaScript で範囲を作成する - 奇妙な構文
-
[解決済み] <Enter>でjQuery UIダイアログを送信する
-
[解決済み] チェックボックスが選択されているかどうかを確認するjQuery
-
[解決済み] 兄弟ノードを選択する方法はありますか?
-
[解決済み] Reactコンポーネントでthis.setStateを複数回使用するとどうなりますか?
-
[解決済み] $.ajax実行中にローディングイメージを表示する
-
[解決済み] JavaScriptの文字列プリミティブとStringオブジェクトの違いは何ですか?
-
[解決済み] JavaScriptでDIVを表示・非表示にするには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JavaScriptで次の要素/前の要素を取得しますか?
-
[解決済み] Google maps API V3 - 同一地点に複数のマーカーを設置する。
-
[解決済み] reactのrender関数でdynamic hrefを作成するには?
-
[解決済み] なぜ "use strict "はパフォーマンスを10倍向上させるのか?
-
[解決済み] アサインの左側にJavascriptのオブジェクトブラケット表記({ ナビゲーション } =)があります。
-
[解決済み] JavaScriptでの大文字小文字を区別しない正規表現
-
[解決済み] javascript includes() 大文字小文字を区別しない
-
[解決済み] サブドメインにまたがってlocalStorageを使用する
-
[解決済み] JavaScriptで長い配列を小さい配列に分割する方法
-
[解決済み] JavaScriptでDIVを表示・非表示にするには?