Movatterモバイル変換


[0]ホーム

URL:


  1. 開発者向けのウェブ技術
  2. URI
  3. リファレンス
  4. スキーム
  5. #"position" content="5" />

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。

View in EnglishAlways switch to English

#"/ja/docs/Web/JavaScript/Reference/Global_Objects/eval">eval()を使用することによる影響と同様に、任意のコードが実行される可能性があるためです。また、通常のリンク動作とは異なるため、アクセシビリティが縮小する可能性があります。

JavaScript URL、つまり#"#構文">構文

  • 解説
  • 仕様書
  • 関連情報
  • 構文

    url
    #"#javascript">#"#script"><script>

    実行する JavaScript コード。コードはスクリプトとして解釈されます。

    解説

    #"/ja/docs/Web/HTML/Reference/Elements/a#href">href 属性。

  • <form> 要素のaction 属性。
  • <iframe>要素のsrc 属性。
  • JavaScript のwindow.location プロパティ。
  • ブラウザーのアドレスバー自体。
  • メモ:他にも、<link> 要素のhref 属性のように、URL を使用するコンテキストもありますが、これらはリソースの場所であり、ナビゲーションの対象ではないため、#"/ja/docs/Web/URI/Reference/Schemes/data">data: URL とtext/javascript MIME タイプを使用してください。

    ブラウザーがそのような場所に移動しようとすると、スクリプト本体を解釈し実行します。スクリプトは、eval() で実行された場合と同じ値である、補完値(返値ではありません)を持つことができます。最後の文がの場合は、補完値はその式の値となります。この補完値が文字列の場合は、その文字列は HTML 文書として扱われ、ブラウザーは現在のページと同じ URL を使用して、そのコンテンツを含む新しい文書に移動します。履歴項目は作成されません。補完値が文字列でない場合、ブラウザーはコードを実行するだけで、移動はしません。そのため、スクリプトが#"/ja/docs/Web/JavaScript/Reference/Operators/void">void を接頭辞として付けることが推奨されることがよくあります。

    JavaScript でのナビゲーションは、コンテンツセキュリティポリシー の設定、具体的にはscript-src によってブロックされる場合があります。

    #"#">クリックしてね</a>

    alert()undefined を返すため、ブラウザーは新しいページに移動しません。これは、リンクが実際にはハイパーリンクではないため、好ましくない方法です。代わりにボタンにすることを検討してください。

    html
    <button>クリックしてね</button><script>  document.getElementById("btn").addEventListener("click", () => {    alert("Hello, world!");  });</script>

    例えば、<a> 要素のhref 属性を#"Hello, world!" というコンテンツを持つ新しいページに移動します。

    html
    <a href="#">クリックしてね</a><script>  // var を使用するとグローバル変数となり、他の場所でも読み取ることができます。  var pageContent = "Hello, world!";</script>

    なお、#"javascript_url_をフォーム処理として使用" >

    #"#"> <input /> <input type="submit" value="Submit" /></form>

    これを行う代わりに、フォームを送信するsubmit イベントを待ち受けし、JavaScript で処理することを検討してください。

    html
    <form>  <input />  <input type="submit" value="Submit" /></form><script>  document.getElementById("myForm").addEventListener("submit", (event) => {    event.preventDefault();    alert(document.getElementById("myInput").value);  });</script>

    #"Hello, world!" を含む新しいページにナビゲートする#"#"></iframe><script> // var を使用するとグローバル変数となり、他の場所でも読み取ることができます。 var pageContent = "Hello, world!";</script>

    その代わりに、srcdoc 属性を設定することを検討してください。

    html
    <iframe></iframe><script>  document.getElementById("myFrame").srcdoc = "Hello, world!";</script>

    #"Hello, world!" というコンテンツを含む新しいページに移動します。

    js
    window.location = "#";

    これを行う代わりに、DOM API を使用してページコンテンツを変更することを検討してください。例えば次のようにします。

    js
    document.body.textContent = "Hello, world!";

    仕様書

    Specification
    HTML
    # the-#"関連情報" >

    関連情報

    Help improve MDN

    Learn how to contribute

    This page was last modified on byMDN contributors.


    [8]ページ先頭

    ©2009-2026 Movatter.jp