私は、Firefox(Greasemonkey)、Opera、およびChrome用のブラウザプラグインをWebサイト用のJavascriptで作成しています。私は変数にdocument.innerHTML
をロードする際に問題が、Javascriptでdocument.innerHTMLを使用した自己閉鎖タグの問題
<form name="foo" action="foo.php" method="get">
<td id="td">text:
**<input name="k" type="text">**
</td>
に変換され
<form name="foo" action="foo.php" method="get">
<td id="td">text:
<input name="k" type="text" />
</td>
</form>
...(私はプラグインのために書いています)のウェブサイトの上の元のコードです
...これです。ご覧のとおり、自己閉鎖<input />
タグはもう閉じず、</form>
タグも消えました。私はほとんどすべてのインターネットを探知していますが、私が読んだ解決策のどれも私の問題を解決しませんでした。
私が知る限り、この方法で元のページソースを取得する方法(または少なくとも動作することが保証されている方法)はありません。 innerHTMLを要求すると、ブラウザはDOM要素のコンテンツのHTMLシリアル化を行います。 XMLHTTPRequestを介してページを読み込むことはできますが、それはおそらくあなたの後ではありません。 –
なぜそれは問題ですか?ブラウザーが要素をHTMLマークアップとして表現する方法は、実際には何にも影響しません。 ' '要素の性質は子孫を持たないことです。 '/> 'の欠如はそれを変えない。 – user113716
''タグはHTMLでは閉じている必要はなく、実際にはHTMLの自己閉じタグは構文的には間違いです。 – Pointy