Socket.io + PhoneGap

2024-02-13

当我尝试使用时套接字IO https://socket.io/ with PhoneGap https://phonegap.com/我收到此错误:

(在 iOS 上应该支持 socket.io)

Access-Control-Allow-Origin 不允许 Origin null。

这是因为我的应用程序是通过file://协议。我能做些什么来解决这个问题?

Thanks!!


您必须将 socketio 主机添加到 PhoneGap.plist 中的“ExternalHosts”键中。

See Faq http://wiki.phonegap.com/w/page/41631150/PhoneGap%20for%20iOS%20FAQ:

问:无法加载指向外部主机的链接和从外部主机导入的文件?

A. 最新代码新增了白名单功能。如果您引用外部主机, 您必须在 PhoneGap.plist 中的“ExternalHosts”键下添加主机。通配符没问题。 因此,如果您要连接到“http://phonegap.com http://phonegap.com”,您必须将“phonegap.com”添加到列表中(或使用通配符“*.phonegap.com” 这也将匹配子域)。 (注意:如果你打开plist 如果您在 Xcode 中创建文件,则无需摆弄 XML 语法。)

对于 android,您必须编辑 cordova.xml 并添加对 socketio 主机的访问权限:

<access origin="HOST*"/> 

index.html(以socketio为例):

...
<script src="HOST/socket.io/socket.io.js"></script>
<script>
    var socket = io.connect('HOST');
    socket.on('news', function (data) {
        socket.emit('my other event', { my: 'data' });
    });
</script>
...

app.js(服务器端 javascript / 基本 socketio 示例):

var io = require('socket.io').listen(80);

io.sockets.on('connection', function (socket) {

socket.emit('news', { hello: 'world' });
    socket.on('my other event', function (data) {
        console.log(data);
    });
});

您必须将 HOST 替换为您的 socket.io 服务器的主机名!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Socket.io + PhoneGap 的相关文章

  • 在节点环境中存根 jQuery.ajax (jQuery 2.x)

    我正在尝试运行一些需要存根的测试jQuery ajax 我正在使用 SinonJS 来做到这一点 它曾经与旧版本的 jQuery 1 x 一起工作得很好 var require jquery var sinon require sinon
  • JavaScript 字符串中的脚本标签[重复]

    这个问题在这里已经有答案了 我遇到一个问题 即 JavaScript 中带引号的字符串内有结束脚本标记 并且它正在杀死脚本 我认为这不是预期的行为 可以在这里看到这样的示例 http jsbin com oqepe edit http js
  • 获取被调用的 javascript 文件的查询字符串

    是否可以在调用的 javascript 文件上使用 javascript 获取查询参数 如下所示 in html in file js console log this location query 这是否可能以某种方式实现 或者我必须使用
  • 在上传之前预览图像 VUEjs [重复]

    这个问题在这里已经有答案了 我知道这个问题已经被问过 但我不知道如何在vuejs中使用代码 我尝试了很多但没有任何结果 我还添加了我的代码 有人可以帮帮我吗 这是我的代码 谢谢 html
  • Angular UI 路由器嵌套视图问题

    我在理解 Angular UI Router 嵌套视图的工作原理时遇到了一些问题 我的 stateProvider 看起来像这样 stateProvider state login url login views main template
  • Javascript 作为对象键的函数与块中标记函数之间的语法冲突

    假设您有一个支持两者的浏览器带标签的函数声明 https developer mozilla org en US docs Web JavaScript Reference Statements label Labeled function
  • 我可以在 GWT 中使用第三方 Javascript 库吗

    例如穆工具 用 js 编码对我来说很舒服 但显然不适合所有人 你当然可以 最好的事情就是给自己写一些好看的JavaScript 覆盖类型 http code google com webtoolkit doc latest DevGuide
  • 如何将一个数组中的所有项目复制到另一个数组中?

    如何将数组的每个元素 其中元素是对象 复制到另一个数组中 以便它们完全独立 我不想更改一个数组中的元素来影响另一个数组 这里的关键是 数组中的条目是对象 并且 您不希望对一个数组中的对象的修改显示在另一个数组中 这意味着我们不仅需要将对象复
  • EmberJS:对象作为查询参数来刷新模型

    我遵循了查询参数指南 http guides emberjs com v1 11 0 routing query params http guides emberjs com v1 11 0 routing query params 而且效
  • 检查用户设备的 GPS 是否开启

    我正在使用 jQuery Mobile 和 PHP 开发一个应用程序 我没有使用 Phonegap 或其他框架 我需要找到用户的geolocation 如果用户设备的 GPS 关闭 那么我无法获取位置 现在我需要查找用户设备的 GPS 是否
  • websockets 如何处理同一浏览器的两个选项卡

    I have 1 个 PHP 服务器 提供 http 请求 和 1 node js 发布更新的数据消息 每个连接都带有 websocket php 服务器设置其 cookie 在一个浏览器中 此 cookie 可在所有选项卡中使用 当浏览器
  • .points 不透明度/大小在三个.js 内

    我回来回答有关 points 的第二个问题 这次想知道如何将不透明度从 0 更改为 1 然后又回到距发射器的特定像素距离内 var particleCount 14 particles new THREE Geometry pMateria
  • 可以禁用幻灯片的触摸模拟但不能禁用滚动条(危险的滑动器)吗?

    我的页面上有一个危险的滑动器 它成功地模拟了幻灯片和随附滚动条上的触摸事件 允许单击鼠标并移动以向左或向右滑动幻灯片 这很好 但我现在在滑动器内的幻灯片上调用了可拖动 这意味着我需要停止此触摸模拟 拖动幻灯片并同时移动它们会引起混乱 但仅限
  • Angular JS - 使服务可以从控制器和视图全局访问

    假设我们有以下服务 myApp factory FooService function 然后 从控制器中 我会说 myApp controller FooCtrl scope FooService function scope FooSer
  • 在反应中访问回调内的 event.target

    我有以下课程片段 constructor props super props this timeout null search e gt clearTimeout this timeout this timeout setTimeout f
  • 如何将MathJax公式转换为img

    Mathjax 现在在我的项目中运行良好 但有一个问题 有没有办法将MathJax的公式 纯html和css 转换成img文件 我可以保存 MathJax 可以配置为生成 SVG 看http docs mathjax org en late
  • Three.js点击单个粒子

    In this example http jsfiddle net agqq96bq 2 您可以看到 2 个可点击的粒子 但它们都受到点击的影响 另外 我只想检测粒子上的点击 而不将它们过滤出场景 像这儿 if intersects len
  • 如何跨多个文件跨越 javascript 命名空间?

    我永远忽略了javascript 几年前我开始使用 jQuery 这样我就可以过得去 但随着我开始更多地进行 TDD 我昨天决定真正深入研究 javascript 之后可能还有咖啡脚本 在我的 ASP NET Web 窗体应用程序中 我有很
  • Graphql 将多个查询合并(组合)为一个?

    我正在尝试使用 JavaScript 将多个 GraphQL 查询合并为一个查询 我正在寻找这样的东西 let query3 mergeQueries query1 query2 我们事先不知道哪些查询将被组合 假设我有这样的查询 输入查询
  • 如果 POST 响应仅包含 ID,如何将数据保存到我的 Ember 存储?

    Ember 数据期望我的服务器在每次成功后返回完整的对象POST 但是 我的 API 只返回一种元对象 其中包含id 当 Ember 收到此对象时 记录中的现有数据将被删除 除了id 例如 当我这样做时 var asset App Asse

随机推荐

  • Spring MVC @RequestMapping 继承

    来自 Struts2 我习惯于声明 Namespace超类上的注释 或package info java 并且继承类随后将获取中的值 Namespace其祖先的注释并将其添加到操作的请求路径之前 我现在正在尝试使用 Spring MVC 做
  • 两个几乎相同的批处理脚本之一中存在语法错误:“)”无法在此处进行语法处理

    我正在尝试设置 Jenkins 服务器来自动构建 Unity 因此 我编写了两个 在我看来 基本相同的批处理脚本 这两个脚本均由 Jenkins 通过Execute Windows batch command步骤使用 Command E u
  • chrome.identity.getProfileUserInfo() 返回空 ID [重复]

    这个问题在这里已经有答案了 我不知道这是否只是开发问题 因为我还没有发布我的扩展 getProfileUserInfo 返回 email id 我是否登录 chrome 并不重要 这是我的清单中的权限 permissions activeT
  • 如何在 MVC 中获取站点的基本 url [重复]

    这个问题在这里已经有答案了 我想向用户发送一封电子邮件 他可以在其中单击链接以转移到我的网站 我不想在我的电子邮件模板中对 URL 进行硬编码 我想要这种动态 无论环境如何 它都会发送相关的 url 就像如果我在开发环境中它会发送类似的内容
  • 在 python 中创建漂亮的列输出

    我正在尝试在 python 中创建一个漂亮的列列表 以便与我创建的命令行管理工具一起使用 基本上 我想要一个类似的列表 a b c aaaaaaaaaa b c a bbbbbbbbbb c 变成 a b c aaaaaaaaaa b c
  • 在 iOS 版 Chrome 上拦截 AJAX 请求?

    我通过更改来拦截我网站中的 AJAX 请求XMLHttpRequest prototype open and send方法 这种方法在我测试的所有浏览器中都没有任何问题 然而 当涉及 iOS iPhone 版 Chrome 时 代码有一个最
  • 带有引用元组的结构化绑定引用

    The cppreference 中的结构化绑定案例2 https en cppreference com w cpp language structured binding有点难以理解 基本上 我想澄清这些情况 int x 1 doubl
  • Windows 上的 Git GUI:合并冲突

    我在命令行上能熟练使用 Git 但对于特定项目 我需要向其他人展示如何专门在 GUI 环境中执行操作 我们正在使用 Windows 版 Git 可在https git scm com download win https git scm c
  • HTML onSubmit / onClick 处理函数可以有除事件之外的其他参数吗? [复制]

    这个问题在这里已经有答案了 我面临一些案例onClick or onSubmit功能需要两者event and parameter 我可以在 React 或普通 html 标签中使用它吗 或者 只是使用其他函数做一些副作用 const Cu
  • CSS如何修复元素随页面水平滚动而不是垂直滚动?

    我创建了一个示例来帮助解释 http jsfiddle net 9AUbj 1 http jsfiddle net 9AUbj 1 div Hello World div div div div div 我想要 你好世界 当用户水平滚动时随
  • 服务器端 Push in Rails

    我想使用 AJAX 在 Rails 中实现一个可扩展的聊天室 我从研究中得知 唯一的可扩展性是通过服务器端推送实现的 我的两个问题是 1 在一个相当高效的聊天服务器中 什么时候轮询会变得禁止 2 我真的不想使用Juggernaut 我不太了
  • ANCS 是否支持向多个 BLE 设备发送通知?

    多台设备与同一台 iPhone 配对 但只有一台设备收到 ANCS 通知 在装有 iOS 9 3 2 的 iPhone 6 上进行测试 我可以确认 ANCS 会向所有订阅它的设备发送通知 也就是说 当通过控制点请求通知属性时 iOS 并不关
  • 如何检查 uri 字符串是否有效

    如何检查 uri 字符串是否有效 可以将其提供给 Uri 构造函数 到目前为止 我只有以下内容 但出于明显的原因 我更喜欢一种不那么粗暴的方式 Boolean IsValidUri String uri try new Uri uri re
  • ngx-datatable动态设置列宽

    我将 ngx datatable 的列宽度存储在数据库中 我使用 AJAX 调用获取这些值 如何为数据表设置这些值 我尝试过的 设置 width 属性
  • php中的foreach循环问题

    这是我的一些代码 p 只是回显并添加换行符 foreach vanSteps as k gt reqInfo p k if van k p The key is the van continue continue continue if w
  • 在 python 张量流中打印生成器

    我正在尝试遵循tensor flow教程如此描述link https github com random forests tutorials blob master ep7 ipynb 我正在尝试按描述打印预测结果 print Predic
  • 样式输入类型=文件未按预期工作

    我正在为表单类型创建一个 css 模板 并希望为表单输入提供圆形边框 这适用于 type text 但不适用于 type file 用于文件上传 我究竟做错了什么 tempform input type text moz border ra
  • Sharepoint 维基

    好吧 我看过几个帖子mention其他一些关于不使用 SP wiki 的帖子 因为它们很糟糕 因为我们正在考虑创建我们的维基inSP 我需要知道为什么我们不应该让 6 名自动化开发人员组成的小组来记录各种自动化流程中的步骤以及必须不时进行的
  • 如何在图表中添加大括号?

    我想在R中制作如下图 如何绘制水平支撑 像这样的事情怎么样 plot c 0 1 c 0 1 text x 0 5 y 0 5 srt 90 cex 8 family Helvetica Neue UltraLight 根据您的目的进行调整
  • Socket.io + PhoneGap

    当我尝试使用时套接字IO https socket io with PhoneGap https phonegap com 我收到此错误 在 iOS 上应该支持 socket io Access Control Allow Origin 不