【问题标题】:Load socket.io with cordova android build使用cordova android build加载socket.io
【发布时间】:2019-06-07 17:04:23
【问题描述】:

我有一个使用 node.js、express 和 socket.io 创建的小型聊天应用程序项目。并使用 npm 安装这些模块。应用程序按预期在桌面上运行。我正在尝试使用 cordova 构建应用程序的 android 版本。当我运行cordova run android 时,它会在我的手机上打开应用程序并毫无问题地加载主用户界面,但它确实不起作用(功能),我在 Chrome 开发人员控制台远程设备中收到此 错误, 当我在 index.html 中添加这样的 socket.io js 文件时

<script src="/socket.io/socket.io.js"></script>

socket.io.js:1 加载资源失败:net::ERR_FILE_NOT_FOUND

由于应用程序在 localhost 上的端口 3000 上运行,因此我尝试在 index.html 中添加这样的 socket.io js 脚本

<script src="http://localhost:3000/socket.io/socket.io.js"></script>

然后出现这个错误

拒绝加载脚本“http://localhost:3000/socket.io/socket.io.js”,因为它违反了以下内容安全策略指令:“script-src 'self' http://* 'unsafe-inline' 'unsafe-eval'”。

这是 Content-Security-Policy 元标记

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' http://* 'unsafe-inline'; script-src 'self' http://* 'unsafe-inline' 'unsafe-eval'" />

【问题讨论】:

    标签: android node.js cordova sockets socket.io


    【解决方案1】:

    如果您想从应用程序存储中导入 socket.io 文件,请删除第一个斜线并确保该文件存在于 www 文件夹中。

    对于 android 检查平台/android/app/src/main/assets/www 该文件夹的内容是您的应用程序的内容。检查您的 socket.io 文件是否存在并且路径正确。

    【讨论】:

      猜你喜欢
      • 2023-04-06
      • 2018-03-19
      • 2018-12-14
      • 2018-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-05
      • 1970-01-01
      相关资源
      最近更新 更多