delphi javascript html 文本,如何让markdown.js在Delphi的TWebBrowser中将标记文档显示为HTML?...

Wouter van N..

14

好的,这有效:

HTML:

hiddenEl=document.getElementById('hidden');

markdownEl=document.getElementById('markdown');

德尔福代码:

procedure TForm38.Memo1Change(Sender: TObject);

begin

WebBrowser1.OleObject.Document.GetElementByID('hidden').setAttribute('value', Memo1.Text);

WebBrowser1.OleObject.Document.ParentWindow.execScript('markdownEl.innerHTML = markdown.toHTML(hiddenEl.value)');

end;

procedure TForm38.FormCreate(Sender: TObject);

begin

WebBrowser1.Navigate('file://c:/!/markdown.html');

end;

当然,这只是一个概念证明.特别是Delphi代码应该检查文档是否已加载,但是这种类型的代码只会分散这个例子的注意力.

也许您想知道为什么我首先将TMemo的内容写入隐藏元素?这是因为当您将JavaScript构建为字符串时,将带有换行符的文本传递给JavaScript函数会很复杂.你会得到这样的东西:

window.alert("Hello

World");

更新

在我的示例中,我lib在html文件的子文件夹中有markdown.js .确保真正指向Markdown.js的位置

你可能感兴趣的:(delphi,javascript,html,文本)