そのため、これを機能させるために1時間費やしました。TWebBrowser でいくつかのテストを行っているので、調査結果をプロジェクトに適用できます。コンテンツをロードするさまざまな方法 (URL、LoadFromStrings()、および EvaluateJavaScript()) をテストしたかったのです。問題は、単純な文字列を誤ってアポストロフィに閉じ込められずに最後のメソッドに渡すことができないことです。
procedure TForm1.FormCreate(Sender:TObject);
const S='<span style="color:red">ABC</span><span style="color:green">ABC</span><span style="color:blue">ABC</span>';
begin
WebBrowser1.LoadFromStrings('<html><body><div id="target">[x]</div></body></html>','');
WebBrowser1.EvaluateJavaScript('document.getElementById("target").insertAdjacentHTML('+
'"beforend",'#39+S+#39');');
end;
#39を参照してください?それらがないと、文字列はアポストロフィなしで送信されるため、結果の JavaScript スクリプトは無効になります。それらが残っていると、文字列の両端に 2 つのアポストロフィが付き、スクリプトが台無しになります。これは何ですか?