问题标签 [firepad]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
firebase - 与 CodeMirror 实时协作
我开始了这个小项目,在那里我将使用 CodeMirror 对代码进行实时协作。
我有一个 msgs 系统设置,因此很容易将对象从一个用户传递给另一个用户。我的问题是将它与 CodeMirror 集成。我发现它有 onchange 和 replaceRange(string, from, to) 事件。
我将 onchange 对象传递给其他用户并使用 replaceRange 来更新视图。问题是当使用 replaceRange 时,它会触发一个新的 onchange 并且它会来回发送 msgs。任何人都知道是否有某种方法可以在不触发 onchange 的情况下更新本地视图。或建议采取其他途径。(msgs 系统已经建立,很容易将 javascript 对象传递给其他客户端)。
firebase - Firebase JSON 安全性和数组
我们想在我们的(主要是非 Firebase 托管的)项目中使用 Firepad,但我们在找出解决问题的最佳方法时遇到了一些麻烦。
基本上,我们有很多用户,每个用户都可以是多个组的成员。这些“组”每个都有自己的 Firepad,用户可以对其进行编辑。我们已经有了一个使用 MySQL 的深度开发的数据库结构,现在并不想将我们的用户数据迁移到 Firebase,所以我们认为我们会更有创意。
我们不希望用户能够编辑他们不属于的组的 Firepad。因此,作为我们的身份验证令牌的一部分,我们认为我们会尝试发送用户 ID 和他们所属的组列表。然后,使用 Firebase JSON 安全系统,我们可以验证当前正在编辑的 Firepad 是否在用户所属的组列表中。
问题是,JSON 系统似乎不接受很多命令。没有 indexOf,我无法调用hasChild
该auth
变量。
我们如何确保用户只能编辑他们所属组的 Firepad,而不将我们所有的数据迁移到 Firebase?(或维护数据库的两份副本——一份在 MySQL 上,一份在 Firebase 上)
firebase - 使用 CodeMirror 在 Firepad 中渲染代码
我正在使用FirePad为自己创建各种 IDE。我正在尝试做的是使用示例/中的 userlist.html 来呈现 JS 代码。这是在examples/code.html中完成的,我已经改变了:
到
它确实显示了行号,但它没有突出显示 JS。
为了澄清,我在 examples/userlist.html 中进行了这些更改
javascript - getSelection 不会在自定义文本输入中为我找到选定的文本
我正在使用新的Firepad 实时文本协作服务。
我想getSelection
在用户选择的框中的文本上使用 JavaScript 方法。
但是,无论出于何种原因,我的代码都无法正常工作。
我的 JavaScript:
HTML:
security - firebase 中受保护内容的适当授权规则
Firebase 应用程序中受保护内容的正确授权规则是否存在最佳实践方法
- 专门使用firepad
- 受保护的内容是指用户创建文档并仅与某些其他用户共享的位置)。
- 此外,我需要能够查询我有权访问的所有文档的 firebase(我创建的文档和其他用户与我共享的文档)
到目前为止我的一些研究:
方法一:秘密网址
我需要知道 URL 才能查看/编辑文档
不是真正的授权,因为任何有权访问该 URL 的登录用户都可以编辑/修改它。
无法索引我有权访问的所有文档
方法2:使用firebase授权规则将用户添加到文档中,并在读/写之前检查用户是否为document.users。
优点:
- 适当的授权/认证。只有已获得访问权限的经过身份验证的用户才能查看/编辑。
缺点:
- 无法查询允许用户编辑的所有文档(我拥有或与我共享的文档)(这个假设是否正确?)
方法 3: Firebase 授权规则(方法 2),加上每个用户可以访问的具有 document_id 数组的冗余用户存储。此用户存储仅用于查询用户有权访问的所有文档。IE:
优点:
- 适当的身份验证/授权
缺点:
- 重复数据,必须处理两个数据存储之间的同步问题。这似乎不是一个好主意。
方法 4:组
我们为数据存储中的每个文档都有一个组
无法轻松查询用户可以访问的所有文档的 firebase
有一个更好的方法吗?
javascript - 无法让 Firepad 正常工作
我创建了一个 Firebase ( https://mkaminsky.firebaseio.com/ ),并尝试使用 Firepad 创建一个代码协作工具。我创建了这个 html 文件,如示例中所述(https://github.com/firebase/firepad/blob/master/examples/code.html)。
但是,此代码无法正常工作。它显示代码编辑器,完成语法高亮,但不执行“setText('//hello');” 方法。放置在其位置的任何其他命令也不起作用。
此外,该按钮不显示在 html 页面中。
我已经测试并验证了 Firebase 可以正常工作。
firepad - Firepad的颜色按钮不会改变文本的颜色
我正在使用 github 中给出的 userlist.html。但是颜色下拉菜单不会改变文本的颜色。其他一切都按预期工作。我也没有在控制台中收到任何错误。
PS:我正在使用带有firepad的codemirror。
任何帮助表示赞赏:)
javascript - Firepad 获取并保存内容
我需要的是定期将firepad的内容(html)保存在数据库中。
我尝试使用 cron 服务保存该信息,该服务调用一个页面,该页面通过 ajax 请求将内容发送到执行该工作的第二个 php 页面。
如果我手动调用此 url,则所有工作,但如果 cron 服务调用 url,则 javascript 不会执行。
我怎样才能做到这一点?
javascript - firepad:作为firepad的codemirror div中默认文本的变量
我正在将 firepad 与我的 django 项目集成。我在javascript方面没有太多专业知识,因此我面临一个问题。
如果我按照所有步骤操作,一切似乎都运行良好。
但是,我在通过 django 视图呈现的页面上有一个名为“用户”的字典变量。
我想在上面的例子中使用这个变量作为 {{user.textkey}} 而不是固定的默认文本。textkey 指向一个文本。
像这样的东西: -
我希望你明白我的意思。这里的问题是文本可能包含诸如撇号或 unicode 字符(如左或右单引号)等的任何内容。django 还会替换变量中的 \n 并导致 javascript 不支持的格式。
例如:-
如果文本包含
然后
看起来像这样
javascript无法理解。
如何解决这个问题?
欢迎任何形式的建议。
angularjs - 在 Angularjs 应用程序中监听 Firepad 事件
只是想知道是否可以在 Angularjs 应用程序中监听 Firepad 事件?
我看到用于检测 Firepad 何时准备就绪的标准 js 代码是:
来自http://www.firepad.io/docs/#api
但是如何在 Angular 的控制器中检测到这一点?