问题描述
我需要在 delphi7 中更新浏览器的设计我使用的是 twebbrowser 但他在 javascript 和导航方面有很多问题..所以我决定迁移到 Chromium。问题是我在这些组件上找不到代码。有谁知道哪个命令相当于 tchromium 中的这个命令:
OleObject.Document.all.Item ('ElementbyId',0) .value: = 'edit1.text';
我需要将文本从备忘录传输到 html 形式的文本区域,最后单击 html 表单上的按钮。如果有人知道命令并可以分享,我将不胜感激。
解决方法
比 DOM 访问更灵活的替代方法是在 Javascript 中使用 TChromium 的 ExecuteJavaScript 方法执行此操作。
根据您的摘要描述,JS 可能类似于
document.getElementById('yourtextarea').value = <JSON stringified content of your memo>;
document.getElementById('yourform').submit();
或者,你可以在你的 HTML 中实现一个 JS 函数,并用 ExecuteJavascript 调用它,这样在 Delphi 端就不会有任何特定的东西(除了函数名),HTML 可以自由发展。
function setTextAreaAndSubmit(value) {
document.getElementById('yourtextarea').value = value;
document.getElementById('yourform').submit();
}