Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 应用程序错误是一个目录(文件://#android_asset/www/index.html)_Javascript_Android_Cordova - Fatal编程技术网

Javascript 应用程序错误是一个目录(文件://#android_asset/www/index.html)

Javascript 应用程序错误是一个目录(文件://#android_asset/www/index.html),javascript,android,cordova,Javascript,Android,Cordova,我正在使用phonegap在android上开发一个应用程序,当我在手机上测试它时,我发现这个错误应用程序错误是一个目录(文件://#android_asset/www/index.html) 只有当我的手机没有互联网连接时,我才会出现这个错误 有什么建议吗?您应该使用: file:///android_asset/www/index.html 作为URL,我在这里找到了答案: 6.1与服务器的连接不成功(file:///android_asset/www/index.html) 其中:在A

我正在使用phonegap在android上开发一个应用程序,当我在手机上测试它时,我发现这个错误
应用程序错误是一个目录(文件://#android_asset/www/index.html)
只有当我的手机没有互联网连接时,我才会出现这个错误

有什么建议吗?

您应该使用:

file:///android_asset/www/index.html
作为URL,我在这里找到了答案:

6.1与服务器的连接不成功(file:///android_asset/www/index.html)

其中:在Android设备上启动应用程序时

您在index.html文件中放置的任何请求远程 资源将导致针对android设备引发上述错误, 然后你的申请就会失效。Weinre调试器是一种常见的调试器 此错误的原因

解决方案:将远程资源的加载移出index.html并 在应用程序中,它将悄悄地失败


这意味着,在index.html中,您正在使用需要访问internet的资源。查看index.html并查找直接从internet链接的任何CSS、javascript或Cordova文件。如果是这样,您必须下载相关文件并使其成为本地文件

当我像这样直接链接我的Jquery mobile JS文件时,我也遇到了同样的问题:

<script type="CSS/javascript" src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.js">


我所做的是下载jquery.mobile-1.3.0.js文件,并将其放在我的www文件夹中。这解决了我的问题。

一个空白的访问标签允许访问所有外部资源

<access origin="*" /> - a wildcard access tag allows access to all external resource.
-通配符访问标记允许访问所有外部资源。
否则,您可以指定特定域:

-->
    <access origin="127.0.0.1*"/> <!-- allow local pages -->
<!--
<access origin="http://phonegap.com" /> - allow any secure requests to http://honegap.com/
<access origin="http://phonegap.com" subdomains="true" /> - same as above, but including subdomains, such as http://build.phonegap.com/
<access origin="http://phonegap.com" browserOnly="true" /> - only allows http://phonegap.com to be opened by the child browser.
-->
-->
希望这能有所帮助。

我按照“”进行操作,我也有同样的问题。 但是我解决了。 我的问题是下载的phonegap和随后的GUI之间不一致

您必须确保以下详细信息: -在intex.html中链接正确的js脚本版本(例如:cordova-2.7.0.js) -它必须匹配下载的phonegab版本。 phonegab版本和链接的js脚本必须匹配


我希望这对您有所帮助。

例如,您只需将'index.html'重命名为'main.html',并创建一个新的(虚拟的)'index.html',只需重定向到'main.html'

新“index.html”的内容:

<!doctype html>

<html>
    <head>
        <title>Title</title>
        <script>
            window.location='./main.html';
        </script>
    </head>
    <body>      
    </body>
</html>

标题
window.location='./main.html';
我找到了答案

标记中包含phonegap.js。它是phonegap在构建期间所必需的

<head>
<script src="phonegap.js"></script> 
</head>

您不需要下载phonegap.js。您只需要包含如图所示的代码。在构建过程中,phonegap将自动查找并包含它。如果没有,当您运行本机应用程序时,应用程序将在phonegap服务器上查找phonegap.js,这将花费很长时间。最终,应用程序加载将超时,并显示错误消息

哇!我相信这一点。我遇到了这个问题,我很沮丧,几乎放弃了使用phonegap。然而,我在Phonegap的网站上读到了以下标题下关于Phonegap.js的文章

“确保您仍然可以访问PhoneGap API”

“删除phonegap.js后,您需要确保应用程序仍然可以访问phonegap API

要执行此操作,只需确保在index.html中进行了以下引用”


这就像魔术。它起作用了


为大家干杯。

确保页面中包含了phonegap.js或cordova.js脚本。
这只能在您的移动设备上使用。

在哪里使用它?我正在使用phonegap,所以我只有一个html文件和一个JS文件。这就是问题所在,我没有使用它,当有互联网连接时,应用程序可以正常工作,否则它会显示此错误,然后崩溃。我在这里找到了答案:但我仍然不知道是什么原因:“将远程资源的加载从index.html移到应用程序中,在应用程序中,远程资源的加载将悄悄失败。“我的意思是,把它移出index.html的确切位置?这也是我的问题。忘了从index.htmlb中删除weinre调试脚本,但整个应用程序使用互联网,它发出的api请求不是本地的,我不能将它们放在本地。是否有方法提醒用户应该连接到互联网才能使用该应用程序?是的,Cordova/Phonegap允许您检查互联网连接。此链接可以帮助您(我不确定您使用的是什么版本):。根据使用此连接功能收到的响应,您可以设置onDeviceReady()警告消息哇!谢谢这篇文章。它工作得很好。我使用PhoneGap+Eclipse构建了一个成功的Web应用程序Sencha Touch。我认为如果你需要该应用程序提供的cordova API(cordova.js),这将不起作用。我不喜欢这样。有什么区别?(技术)-1因为你没有说你是从这里得到的:这是应用程序还是服务器端?
<script src="phonegap.js"></script>