gpt4 book ai didi

javascript - 如何将服务器端生成的新页面加载到 PhoneGap 或 Cordova 应用程序中?

转载 作者:行者123 更新时间:2023-11-30 20:04:23 24 4
gpt4 key购买 nike

我正在尝试找出最简单、最快捷的技术来使我们公司的网站适应可从应用程序商店下载的应用程序。 PhoneGap/Cordova 看起来不错。使用 InAppBrowser 插件看起来是一条显而易见的路线,但我们将需要通过 Cordova 插件访问某些电话 API,而且似乎无法在 InAppBrowser(Webview?)窗口中访问来自它们的数据。

作为替代方案,我想知道为什么我不能直接用从我们的服务器加载的新 HTML 页面内容替换我的 PhoneGap 页面(实际上是一个单页应用程序)中的 HTML 内容?我们在服务器端使用 Laravel 模板,因此已经有一个页面包装器,Laravel 在发送到客户端之前将页面特定的内容(在服务器上)注入(inject)到该包装器中。我可以将页面包装器 HTML 移动到前端(进入编译到我的 PhoneGap 应用程序中的 SPA),完成所有页面所需的所有 JS 和 CSS,然后将新页面内容实时加载到 DOM 中(例如在页面中BODY),并且任何 JS 都可以通过 Cordova 插件访问电话 API。

这可行吗,还是我遗漏了什么? (有什么问题吗?)

谢谢。

最佳答案

你可以这样使用

在您的服务器中像这样创建页面 home.php :

<?php
header('Access-Control-Allow-Origin: *');
header("content-type: text/javascript");

if(isset($_POST['home']))
{
$content_html = '<head><title> Test </title></head><body><span>working</span></body><script>declare all necessary script hear</script>';
echo json_encode($content_html);
}
?>

在 cordova index.html 中

<html id="new_content">


</html>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script>
$('#new_content').html("<center><span>Loading ...</span></center>");
$.ajax({
type: "POST",
url: "http:/your_serveur/home.php",
data: {"home":"home"},
cache: false,
async:false,
success: function(data){
var data = JSON.parse(data);
$("#new_content").html(data);
},
});
</script>

关于javascript - 如何将服务器端生成的新页面加载到 PhoneGap 或 Cordova 应用程序中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53067774/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com