如何以编程方式获取 etherpad 的实时明文内容?

Posted

技术标签:

【中文标题】如何以编程方式获取 etherpad 的实时明文内容?【英文标题】:How do I programatically fetch the live plaintext contents of an etherpad? 【发布时间】:2011-05-01 15:54:26 【问题描述】:

这个问题出现在 etherpad-open-source-discuss 邮件列表中,我认为将它放在这里会很有用。

【问题讨论】:

【参考方案1】:

只需像这样构造一个 URL 并获取它:

http://dtherpad.com/ep/pad/export/foo/latest?format=txt

这将获得http://dtherpad.com/foo的实时明文内容

例如,在 php 中你可以用

file_get_contents("http://dtherpad.com/ep/pad/export/foo/latest?format=txt")

请注意,这只是每个键盘的“导入/导出”菜单中提供的“导出为纯文本”链接。

【讨论】:

啊,John McLear 为最新版本的 Etherpad 更新了这个(谢谢!)但其他人拒绝了它,现在它不允许我接受它。【参考方案2】:

其他一些可能性:

在浏览器中,您可以点击http://your-etherpad-server.com/ep/pad/view/padId/latest?pt=1 在协作编辑器 (ace2_inner.js) 的代码中,使用 rep.alltext 在 Etherpad 的 javascript 中,将 pad.text 用于最新版本的 pad.getRevisionText(rev.revNum) 用于指定的先前版本。

【讨论】:

【参考方案3】:

Ari 在他的回复中提到的 javascript 函数似乎不再存在于当前版本的 Etherpad 中,如在 http://etherpad.mozilla.org 等网站上实现的那样

但是您现在可以在 eherpad 的 javascript 中简单地使用以下 javascript 函数来获取最新版本的文本

padeditor.ace.exportText()

【讨论】:

【参考方案4】:

你可以使用jQuery获取etherpad的明文内容:

jQuery(document).ready(function()
    jQuery('#export').click(function()
        var padId = 'examplePadIntense';//Id of the div in which etherpad lite is integrated
        var epframeId = 'epframe'+ padId;
        var frameUrl = $('#'+ epframeId).attr('src').split('?')[0];
        var contentsUrl = frameUrl + "/export/txt";
        jQuery.get(contentsUrl, function(data) 
            var textContent = data;
        );
    );
);

【讨论】:

【参考方案5】:

您还可以使用getText HTTP api 来检索 pad 的内容。

更多详情请查看我的other answer。

【讨论】:

以上是关于如何以编程方式获取 etherpad 的实时明文内容?的主要内容,如果未能解决你的问题,请参考以下文章

Etherpad:如何从 etherpad 捕获选定的文本

React Router 4 如何在函数内以编程方式重定向? [复制]

如何以编程方式将 iPhone 中的实时流媒体视频静音

如何在 android 实时通话期间以编程方式发送 Dtmf 音?

如何以编程方式(Python)抓取流式实时股票图表代码数据及其指标

如何以编程方式设置设备时间