div 要素を含む単純な html ページがあります。div の innerHTML プロパティは、クエリ文字列を介して設定されます。クエリ文字列では、html文字列を渡します。
<p style='font-size:20px;color:green;'> Sun rises in the east </p> etc...
適切な出力が得られます。
ただし、スタイル属性でカラーコードを渡すと、たとえば #00990a と表示されません。
誰かがこれを通して私を助けることができますか?
div 要素を含む単純な html ページがあります。div の innerHTML プロパティは、クエリ文字列を介して設定されます。クエリ文字列では、html文字列を渡します。
<p style='font-size:20px;color:green;'> Sun rises in the east </p> etc...
適切な出力が得られます。
ただし、スタイル属性でカラーコードを渡すと、たとえば #00990a と表示されません。
誰かがこれを通して私を助けることができますか?
あなたは私たちにコードを見せていないので、私は推測します…</p>
URI では#、フラグメント識別子?の開始を示します (クエリ文字列の開始を示すように)。あなたの色はクエリ文字列を終了し、フラグメント識別子を開始します。URL で特別な意味を持つすべての文字を URL エンコードする必要があります。(#は%23) です。
ただし、サーバー上で渡された HTML と CSS を必ずサニタイズしてください。それ以外の場合、XSS 攻撃にさらされるのは非常に簡単です。
を含むカラーコードがある場合、#それ以降のすべてがフラグメント識別子として扱われます。これを回避するには、パラメーター値を URL エンコードする必要があります ( d に置き換え#、%23特別な意味を持つ他の文字 ( @&%=?#...) で同じことを行います)。
最後に、URL は次のようになります。
PageUrl?Content=%3Cp+style%3D%27color%3A%23009900%27%3EContent%3C%2Fp%3E