javascript - 我如何填写一个javascript编辑器?

标签 javascript delphi browser autofill

我使用 TEmbeddedWebBrowser 使用 FillForm 方法填写 html 表单。但是我的 html 表单包含一个完全基于 javascript 的编辑器,我不知道如何填写它。

像这样:

your comment :
<script type='text/javascript' src='public/scripts/src/editor.js?1'></script>

提交按钮:

<input type="submit" name="btnSubmit" id="btnSubmit" value="Send" class="btn" onclick="rtevalue(&quot;data[body]&quot;,437934);" />

最佳答案

编辑器本身就是一个DIV (可以是其他 HTML 元素)或 IFRAME设置为 contentEditable / designMode = on .
如果元素是 DIV你可以使用它的 InnerHTML属性(property)。
为获得最佳效果 IFRAME使用以下代码:

procedure TForm1.Button1Click(Sender: TObject);
var
  editorDoc: OleVariant;
  range: OleVariant;
  id: OleVariant;
begin
  id := 'editor'; // frame ID
  editorDoc := (WebBrowser1.Document as IHTMLDocument2).parentWindow.frames.item(id).Document;
  range := editorDoc.body.createTextRange();
  // range.collapse(false); // if you need to append
  range.select();
  range.pasteHTML('<b>Boo!</b>');
end;

注意事项:

  • 没有错误检查来简化代码。
  • 你也可以试试 range.execCommand('inserthtml', false, MyText) (未使用 TEmbeddedWebBrowser 进行测试,但当我在 HTML 上使用普通 Javascript/IE 进行测试时得到了虚假结果)。

关于javascript - 我如何填写一个javascript编辑器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9700988/

相关文章:

linux - 我刚刚在运行 Ubuntu 的新服务器上运行我的新 node.js/express 应用程序,我如何查看我的 Web 应用程序?

javascript - 如何根据 php 中的按钮操作传递点击次数

javascript - 在 IE ≤ 8 中更改幻灯片时 Nivo-Slider 消失

Delphi - 如何检测防病毒软件的存在?

CSS:<h2> 在 IE7 中比在 FF 中长

c# - WebBrowser 保持 url/uri 编码不解码

javascript - 尝试防止 DIV 中出现重复的随机项

javascript - 触发 Tinymce 上的按键事件

c# - 如何导出C#编写的接口(interface)来实现TLB生成的Delphi代码

Delphi5 目录存在()