javascript - Phonegap Cordova - 尝试连接到公共(public) IP 服务器

标签 javascript android node.js cordova server

我正在尝试通过 Android 手机上的应用程序登录我的 node.js 服务器。这个程序在我运行的任何地方都工作得很好,直到我用phonegap 编译它并在我的Android 手机上安装进行测试。它显示“正在连接到服务器...”,就是这样。不过,当我将 IP 地址写入 Android 手机的浏览器时,它连接正常。我需要做些什么才能使其可用吗?如果没有,我该怎么做?

<html>
<head>
<script type="text/javascript">
function load()
{
    window.location.href = "http://192.168.1.11:8080";

}
</script>
</head>

<body onload="load()">
<h1>Connecting to Server...</h1>
</body>
</html> 

最佳答案

您需要一个正确的 CSP,并且可能需要在 config.xml 中添加一个访问源条目(取决于 cordova 版本,两者兼而有之)。

但是,您尝试做的事情在 Cordova 环境中将无法正常工作。简而言之,Cordova 应用程序是一个独立的 Web 应用程序,尝试通过 window.location.href 重定向/更改正文将使您退出应用程序,这是不允许的。 (这并不是 100% 到底发生了什么,但这是一个更长的答案)。

要启动外部网页内容,您需要添加应用内浏览器插件并在其中打开您的网址: https://github.com/apache/cordova-plugin-inappbrowser

关于javascript - Phonegap Cordova - 尝试连接到公共(public) IP 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34538980/

相关文章:

javascript - csv[i] 未定义javascript

javascript - 如何在 javascript 中呈现 html 文件?

android - 添加 uber 依赖项时 Gradle 构建失败

javascript - Electron:如何在另一个文件中引用全局BrowserWindow对象?

node.js - 如何使用 ES6 在 Koa.js 中创建中间件

javascript - 将 Typescript + Javascript 与 Visual Studio 2015 相结合

javascript - 使用具有参与者关系的交易添加 Assets

android - 调用电话时将电话屏幕插入后台

Android:纹理的 gl 状态与着色器的不匹配

javascript - 创建动态 tr 时,javascript 模板解析未定义