将Strophe.js与ReactNative结合使用
Using Strophe.js with ReactNative
我正在尝试构建一个ReactNative聊天应用程序。后端由Probody XMPP/Bosh服务器组成。现在我想使用Strophe.js Javascript库进行连接。我遇到的问题是Strophe.js库依赖于全局document
变量来生成XML节点。你们中有没有人已经有同样的问题,或者知道如何解决?
我找到了一个可行的解决方案:我使用的是并行运行的ReactNative WebView,对我的ReactNatureApp不可见,类似于这个Crypto(但使用了ReactNativeWebview!而不是React Native WebView Javascript Bridge)
在WebView中,你可以使用Strophe,你只需要在WebView上为RN和Strophe之间的通信编写一个包装器。
我会尝试用一个工作的基本版本制作gitRepo
(检查加密示例:https://github.com/saulshanabrook/react-native-webview-crypto)
navigator
、document
、location
等。除此之外,浏览器功能齐全,具有普通浏览器的所有XHR
功能。
Storephe与服务器的通信全部基于XHR请求。您只需要模拟文档对象,以防止Strophe在找不到document
对象时引发异常。正是出于这个原因模拟浏览器构建。如何使用它的一个简单示例:
let MockBrowser = require('mock-browser').mocks.MockBrowser;
let mock = new MockBrowser();
GLOBAL.window = mock.getWindow()
GLOBAL.document = mock.getDocument()
GLOBAL.navigator = mock.getNavigator()
有一些xmpp-javscript库可以与react native一起使用。但它们需要进一步的配置。
还有一些非常积极维护的用于react native的xmpp库。XMPP.js就是其中之一。它们还提供插件支持。但是,它们还处于早期开发阶段,当然像strophe.js这样的库要先进得多。
- javascript结合了数组和字典
- 将Firebase与Electron结合使用
- 结合jQuery和jetpack无限滚动
- 将Angular js与taglib结合使用
- 将图像上传ajax与表单提交ajax相结合
- 在ListView中添加JSON数组中存储的图像-ReactNative
- 将语句与jquery相结合,并使用媒体查询来实现返回页首按钮
- 将broccoliJS与当前使用requireJS的模块化主干应用程序结合使用,我想完全放弃requireJS
- jQuery结合了2个绑定函数(类型错误:a是未定义的)
- 媒体查询与Javascript相结合
- 将Ionic与智能卡(Java卡)结合使用
- 有可能将SYSTEMJS与REQUIREJS结合起来吗
- 将Browserify与Angular JS结合使用--将服务传递到控制器中
- 结合jQuery和普通JS
- 为什么可以'我将谷歌地图getCurrentPosition与地点搜索API相结合
- 如何将纹理打包器与纯javascript结合使用
- 将TypeAhead与jQuery和Bootstrap 2.1结合使用
- javascript结合了公共和私有窗口.onload
- 如何将grunt autoprefixer和grunt sass结合使用
- 将Strophe.js与ReactNative结合使用