如何以编程方式获取 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 的实时明文内容?的主要内容,如果未能解决你的问题,请参考以下文章
React Router 4 如何在函数内以编程方式重定向? [复制]
如何在 android 实时通话期间以编程方式发送 Dtmf 音?