我目前正在开发在PhoneGap 上运行的移动应用程序(iOS 和Android)HTML5、CSS3 和jQuery Mobile,以生成将在移动设备上运行的可执行文件。
我的应用程序在其操作中将从位于我的 PHP 服务器上的 PHP 页面加载动态内容。PhoneGap 无法在手机上生成包含 PHP 文件的应用程序,我试图从位于我的应用程序中的服务器的“news.php”页面显示内容,但徒劳无功。
您的问题有一个简单的解决方案:
不要这样做!
创建一个静态 html 页面,它通过 ajax 请求从您的服务器加载内容。发送正确的 cors-header 并为您的应用创建域白名单。
说明:如果我可以破坏您的网络服务器,并向您的页面添加 JavaScript,那么我将能够读取/删除,使用安装了您的应用程序的设备执行所有操作。
我只是必须让您知道,Apple 不允许为您的基本功能获取 html 页面,如果您这样做,他们将拒绝您的应用程序。您的所有基本资产都应位于您的应用程序中。
这取决于您将如何创建应用程序。没有什么能阻止你这样做。您可以将 loadUrl 引用到远程 Web 服务器,而不是使用 phonegap www 目录中的文件,因此会话将起作用。这是一个例子:
Phonegap + 安卓:
在您的主要活动类中,方法 onCreate 将 loadUrl 更改为:
super.loadUrl("http://.../index.php");
iPhone + Phonegap 是另一个故事,仍然可以做到。因为这里有很多变化,这里有一个教程:http ://www.joeldare.com/wiki/open_a_url_in_phonegap
还有一件事,您必须为 Phonegap 启用互联网连接。
当您使用 android 平台时,将此行添加到您的 AndroidManifest:
<uses-permission android:name="android.permission.INTERNET" />
必须在您的 html 文件中设置视口元标记。
还有一件事,如果您正在创建一个 iOS 应用程序,那么由于我的第一个解决方案,您的应用程序很有可能会被发布。在这种情况下,您需要使用某种 Web 服务请求来处理它。