私はこの問題に悩まされています:
<body onload="document.body.innerHTML="<script>alert('hi')</script>"">
問題は、引用符内の引用符内で引用符を使用できないことです。何か案は?
私はこの問題に悩まされています:
<body onload="document.body.innerHTML="<script>alert('hi')</script>"">
問題は、引用符内の引用符内で引用符を使用できないことです。何か案は?
"
文字で区切られた HTML 属性内の文字を表す"
には、エンティティを使用します。"
ただし、組み込みのイベント属性を使用するのではなく、JavaScript を使用してイベント リスナーをアタッチすることをお勧めします。それは物事を大幅に簡素化します。
ただし、ブラウザは でドキュメントに追加された JavaScript を実行しないことinnerHTML
に注意してください。プログラムでスクリプトを追加する場合は、createElement
/ appendChild
et al. を使用します。
<body onload='document.body.innerHTML="<script>alert(\"hi\")</script>"'>
また
<body onload="document.body.innerHTML='<script>alert(\'hi\')</script>'">
動作しますが、ブラウザがコードを解析した後にスクリプトが追加されるため、スクリプトは実行されません。
引用符内の引用符内の引用符内の引用符が必要な場合は、次のようにすることに注意してください。<body onload="document.body.innerHTML='<script>alert(\'\\\'hi\\\'\')</script>'" >
本当に不可能なことは (私が思うに) せず"
に置くこと"
と'
アラートに入れることです。
バックティック (`)、一重引用符、および二重引用符を組み合わせて使用できます。
コード:
<body onload="document.body.innerHTML=`<script>alert('hi')</script>`">