目的:HTMLを文字列として取り込み、その中のイメージタグの属性を編集し、HTMLを文字列として返します。HTMLElementのinnerHTMLおよびouterHTMLプロパティは、エラーなしで未定義に戻ります。
My機能は次の行に沿っている:
private resolveImagesInHTML (body: string): string {
let htmlParser = new domParser.DOMParser(); // from react-native-html-parser
let parsedDOM: HTMLDocument = htmlParser.parseFromString('<html>' + body + '</html>', 'text/html');
// ------- code to modify DOM goes here -------
return parsedDOM.documentElement.innerHTML;
}
問題:私は私のデバッグコンソール、 にparsedDOMまたはparsedDOM.documentElementを印刷する場合それは正しく修正HTMLコンテンツを表示します。驚いたことに、 innerHTMLまたはouterHTMLプロパティはエラーをスローしませんが、 '未定義'を返します。
明らかに私のコードを修正している間にHTMLのフォーマットが乱れている可能性がありましたが、上記の3行以外のすべての機能についてコメントしても、動作は同じです。
私はここで間違っている可能性がありますか? ありがとう、私はReact-Nativeとtypescriptをかなり使い慣れているので、ここで些細で明白なことがないと驚かれることはありません。
ありがとうございました。同じリンクには、要素を拡張するHTMLElementを返す属性 'documentElement'があり、要素には 'innerHTML'プロパティがあります。だから私はこれがうまくいくと思った。 私のための解決策はありますか? –
より良いパッケージを見つけたり、既存のパッケージを改善したりしてください。文書化は必ずしも完全ではありません。 –