导航:
论坛 -> DELPHI技术
斑竹:liumazi,sephil
作者:
2021/11/2 18:45:18
标题:
一个基于 TEdgeBrowser 的富文本编辑器源代码
浏览:3022
加入我的收藏
楼主:
本人花了几天查 JavaScript 命令后做的。 支持贴图。图片采用内嵌数据的方式。好处是输出保存为文件时,一个 HTML 文件搞定。如果输出的内容直接保存到数据库的 Blob 也可以图片和文本一起搞定。
----------------------------------------------
-
作者:
2021/11/2 18:46:46
1楼:
我擦,贴不了 URL,说有非法内容。没法玩了。 github.com/pcplayer/J-S-E-d-i-t-o-r/tree/master
----------------------------------------------
-
作者:
2021/11/2 18:47:58
2楼:
把上面的地址里面的横杠去掉吧。加横杠是为了避免敏感词。
----------------------------------------------
-
作者:
2021/11/2 19:16:49
3楼:
我靠 进去是空白项目,还以为假开源。原来要切分支……
----------------------------------------------
[alias] co = clone --recurse-submodules up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/ >http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
2021/11/2 20:28:00
4楼:
我在自己电脑上,用小乌龟提交,小乌龟建立的分支是 master。这个是传统的。 现在 github 估计是为了迎合白左的政治正确,不能说 master - slave 了,它把默认的改为 main 了。 所以我提交后是 master,而 github 自己还有个 main。 基于白左的政治正确,还把黑名单(black list)也不能用了。说黑就不对。 白左搞政治正确的,都是傻叉,无一例外。
----------------------------------------------
-
作者:
2021/11/2 23:35:55
6楼:
J S是敏感词。做为Delphi区是禁止讨论前端的。
----------------------------------------------
-
作者:
2021/11/3 11:06:01
7楼:
5楼,我内置了一个 Web Server 也没用本地 80 啊。反正 Delphi 的 WebBroker 程序,用哪个端口自己随意。 至于说 markdown,就是一堆标记的翻译转换,把 markdown 的标记转换为 HTML 的标记,转换完了随便一个浏览器都可以查看,和这里涉及到的技术没关系,懒得搞了。 之前也看过 markdown,下载了几个要钱的 markdown 程序,付了钱,然后发现,各家的兼容性都不一样,没什么好玩的,卸载了。 github 上有一个 delphi 的 markdown 项目,下载来试了试,可以用。不过,问题依然是 markdown 的各家标准都不统一导致解析出现各种问题。
----------------------------------------------
-
作者:
2021/11/3 11:21:09
8楼:
感谢分享,希望楼主做个fmx的富文本编辑器!
----------------------------------------------
虽千万人吾往矣!
作者:
2021/11/3 15:22:33
9楼:
我看到的markdown程序 看上去就像套Browser。。 jsmarkdown 也找了几个 都不能生成图 边写边预览还行。
----------------------------------------------
[alias] co = clone --recurse-submodules up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/ >http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
2021/11/3 18:07:29
10楼:
向大佬致敬
----------------------------------------------
-
作者:
2021/11/6 19:10:00
11楼:
找到了 http://bbs.2ccc.com/topic.asp?topicid=608564
----------------------------------------------
[alias] co = clone --recurse-submodules up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/ >http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
2021/11/8 11:03:22
12楼:
8楼大神,我会抽时间搞搞 FMX 的 WebBrowser。 不过在 WINDOWS 底下,它好像是基于 IE 的,可能对我引用的 JS 和 CSS 的支持会有问题。抽时间我来试试看吧。
----------------------------------------------
-
作者:
2021/11/8 19:24:22
13楼:
报告8楼: 1. Fmx 的 TWebBrowser 在 Windows 底下,确实支持的 JavaScript 有限。比如我在 TEdgeBrowser 里面使用的代码段的 JavaScript 库,在这里无法正常显示出该有的效果。但我相信在安卓底下应该没问题,因为我曾经在安卓底下采用 FMX 的 WebBrowser 来显示我自己的网页内容,是包含了一些比较新的 JavaScript 库的。苹果底下不清楚。 2.其它功能,因为在 TEdgeBrwoser 底下都是用 JavaScript 命令来实现的,换到 FMX 底下,只是调用 JavaScript 的方法稍微有区别,但测试结果是可以正常执行的,只要这个 JavaScript 是 IE 支持的就行,比如: procedure TForm1.DoBold; var JS: string; begin JS := 'document.execCommand("bold", false, null);'; WebBrowser1.EvaluateJavaScript(JS); end; 这段代码,在 FMX 的 WebBrowser 上面,在 WINDOWS 里面,执行成功,结果正常。 另:内嵌图片数据的 HTML 网页,在 FMX 的 WebBrowser 上面,WINDOWS 里面也能够正常看到图片。
----------------------------------------------
-
作者:
2021/11/8 20:50:08
14楼:
Edge浏览器基于 Chromium 开源项目,能不好使么。 哈哈哈,我想到个新玩法,试试去。
----------------------------------------------
相信自己,若自己都不相信,那还有谁可信。
作者:
2021/11/9 11:08:07
15楼:
同样内容,贴一下我的博客地址: https://blog.csdn.net/pcplayer/article/details/121223167?spm=1001.2014.3001.5501
----------------------------------------------
-
作者:
2023/4/14 17:50:12
16楼:
@pcplayer WebBrowser上的另存为WebBrowser1.ExecWB(4,1); 但是在EdgeBrowser上如何调用(另存为)呀一直没找到,不知是哪个
----------------------------------------------
-
作者:
2023/4/14 22:27:50
17楼:
16楼,你这个问题,我想不起来该怎么做。然后,我查了一下我之前的代码。 记性不好啊,做过的都忘记了。幸好以前的代码没有丢。 我的办法是: 1. 让 Browser 执行一个 JS: procedure TFrameEdgeEditor.SendGetHTMLCmd; var S: string; begin S := 'encodeURIComponent(document.documentElement.outerHTML)'; EdgeBrowser1.ExecuteScript(S); end; 2. 在 WebBrowser 的事件:OnExecuteScript 事件里面写代码把执行结果拿到。执行上述 JS 后的执行结果就是整个页面的 HTML: 上述事件里面读执行结果的代码: FScriptReturn := TNetEncoding.URL.Decode(AResultObjectAsJson); 因此你就获得了页面的 HTML 字符串。字符串都有了,保存为文件总会吧?
----------------------------------------------
-
作者:
2023/4/16 6:59:11
18楼:
@pcplayer 这种方式不完美哦,保存为html文件后,打开查看效果不佳, 有的连框架都没有 我想最好还是 能像WebBrowser那样直接 WebBrowser1.ExecWB(4,1);
----------------------------------------------
-
作者:
2023/4/16 11:00:55
19楼:
(chrome,edge)保存mhtml格式最佳 怎么保存呢?不会,c++没看可以去看看有木有
----------------------------------------------
-
作者:
2023/4/16 17:36:24
20楼:
@1111111113 你没看懂的我说的意思,我没说保存html不佳,我说楼主给我的那个方法,我试了之后,这样保存的方式打开浏览时,效果不佳。 我想有没有像WebBrowser那样直接调用 WebBrowser1.ExecWB(4,1);这样来保存
----------------------------------------------
-
作者:
2023/4/17 0:25:20
21楼:
你说的 WebBrowser1.ExecWB(4,1) 这个背后是微软的 IE 的那个 COM 封装,调用的接口。新的浏览器估计没有 COM 封装接口了。
----------------------------------------------
-
作者:
2023/4/17 8:21:19
22楼:
在win11上装webbrowser后,webbrowser内核变成了edge,现在想打开pdf\word文档就没以前好弄了。
----------------------------------------------
-
作者:
2023/4/17 10:14:32
23楼:
打开 PDF 很简单: EdgeBrowser1.Navigate(MyDoc.PDF); 搞定!
----------------------------------------------
-
作者:
2023/4/17 12:38:55
24楼:
楼上大师,打开word不像以会嵌入到组件内,而会另外启动office\wps,这个不知道怎么弄
----------------------------------------------
-
作者:
2023/4/17 13:31:32
25楼:
这个网上一搜就有答案。 https://www.makeuseof.com/office-viewer-microsoft-edge/ https://support.microsoft.com/en-us/office/quick-access-to-your-office-files-in-the-browser-dc1024b4-92be-46eb-81a7-aea85368baa0 简单说就是给 Edge 浏览器安装扩展插件。
----------------------------------------------
-