在我的assets/www/index.html
中,我正在尝试打开html
使用此javascript命令/data/data/files/xyz/index.html
:
window.location.href = cordova.file.dataDirectory + "xyz/index.html";
在../xyz/index.html
中,它还包含同一xyz目录中存在的cordova.js
:
<script type="text/javascript" src="cordova.js"></script>
可以加载index.html
,但在catlog显示错误如下
W / CordovaWebViewImpl:阻止(可能是子框架)导航到 不允许的网址:gap:// ready
我的方法有问题吗?使用window.location.href
在数据文件夹中打开另一个cordova应用程序是错误的吗?
答案 0 :(得分:1)
您不需要使用“cordova.file.datadirectory”。仅当您使用文件插件访问数据文件时才会这样,例如在游戏或级别数据中保存高分。您不使用该插件将页面加载/卸载到当前的Web视图中。
您希望所有HTML文件与“index.html”位于同一文件夹分支中。假设一个像这样的目录结构:
/ index.html <!---- this is your current index.html
/ page2.html
/ js / index.js
/ xyz /index.html
您所要做的只是window.location='xyz/index.html'
。但是,如果您正在为iOS开发,我强烈鼓励您不要替换整个页面。这几乎是一种让您的应用被拒绝的保证方式。尝试使用“Framework7”等框架通过AJAX加载您的网页。
注意:您只能查看webview中的文件,这些文件位于同一文件夹中,或者是您的初始index.html的子文件。
编辑:您想加载另一个Cordova webview应用程序。我建议仍然让它成为初始“index.html”文件夹的子项。但是,您可以编写插件或自定义平台本身以访问其他文件。但是,这超出了这个问题的范围!