PhoneGap“无法加载资源:服务器响应状态为404(找不到)”。

编程入门 行业动态 更新时间:2024-10-12 03:24:01
本文介绍了PhoneGap“无法加载资源:服务器响应状态为404(找不到)”。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有一个Web应用程序,我最近尝试转换为PhoneGap,但由于某种原因,当在我的Android上运行它,它没有访问互联网。当通过usb调试chrome时,我看到错误加载资源失败:服务器响应状态为404(未找到)的所有外部请求(例如加载谷歌字体作为样式表从字体。 googleapis 在我的html,并调用firebase从我的js)。

我使用默认的 ;访问origin =*/> 指令,根据我的理解,应允许完全访问。

$ c> config.xml 是下面的:

< widget xmlns =http:// www.w3/ns/widgetsxmlns:gap =phonegap/ns/1.0id =com.phonegap.helloworldversion =1.0.0> < name> MyApp< / name> < description> MyDescription< / description> < author href =phonegapemail =support@phonegap> PhoneGap Team< / author> < content src =index.html/> < preference name =permissionsvalue =none/> < preference name =orientationvalue =default/> < preference name =target-devicevalue =universal/> < preference name =fullscreenvalue =true/> < preference name =webviewbouncevalue =true/> < preference name =prerendered-iconvalue =true/> < preference name =stay-in-webviewvalue =false/> < preference name =ios-statusbarstylevalue =black-opaque/> < preference name =detect-data-typesvalue =true/> < preference name =exit-on-suspendvalue =false/> < preference name =show-splash-screen-spinnervalue =true/> < preference name =auto-hide-splash-screenvalue =true/> < preference name =disable-cursorvalue =false/> < preference name =android-minSdkVersionvalue =14/> < preference name =android-installLocationvalue =auto/> < gap:plugin name =org.apache.cordova.battery-statussource =npm/> < gap:plugin name =org.apache.cordova.camerasource =npm/> < gap:plugin name =org.apache.cordova.consolesource =npm/> < gap:plugin name =org.apache.cordova.contactssource =npm/> < gap:plugin name =org.apache.cordova.devicesource =npm/> < gap:plugin name =org.apache.cordova.device-motionsource =npm/> < gap:plugin name =org.apache.cordova.device-orientationsource =npm/> < gap:plugin name =org.apache.cordova.dialogssource =npm/> < gap:plugin name =org.apache.cordova.filesource =npm/> < gap:plugin name =org.apache.cordova.file-transfersource =npm/> < gap:plugin name =org.apache.cordova.geolocationsource =npm/> < gap:plugin name =org.apache.cordova.globalizationsource =npm/> < gap:plugin name =org.apache.cordova.inappbrowsersource =npm/> < gap:plugin name =org.apache.cordova.mediasource =npm/> < gap:plugin name =org.apache.cordova.media-capturesource =npm/> < gap:plugin name =org.apache.cordovawork-informationsource =npm/> < gap:plugin name =org.apache.cordova.splashscreensource =npm/> < gap:plugin name =org.apache.cordova.vibrationsource =npm/> < icon src =icon.png/> < icon src =www / res / icon / android / icon-36-ldpi.pnggap:platform =androidgap:qualifier =ldpi/> < icon src =www / res / icon / android / icon-48-mdpi.pnggap:platform =androidgap:qualifier =mdpi/> < icon src =www / res / icon / android / icon-72-hdpi.pnggap:platform =androidgap:qualifier =hdpi/> < icon src =www / res / icon / android / icon-96-xhdpi.pnggap:platform =androidgap:qualifier =xhdpi/> < icon src =www / res / icon / blackberry / icon-80.pnggap:platform =blackberry/> < icon src =www / res / icon / blackberry / icon-80.pnggap:platform =blackberrygap:state =hover/> < icon src =www / res / icon / ios / icon-57.pnggap:platform =ioswidth =57height =57/& < icon src =www / res / icon / ios / icon-72.pnggap:platform =ioswidth =72height =72/& < icon src =www / res / icon / ios / icon-57-2x.pnggap:platform =ioswidth =114height =114/& < icon src =www / res / icon / ios / icon-72-2x.pnggap:platform =ioswidth =144height =144/& < icon src =www / res / icon / webos / icon-64.pnggap:platform =webos/> < icon src =www / res / icon / windows-phone / icon-48.pnggap:platform =winphone/> < icon src =www / res / icon / windows-phone / icon-173-tile.pnggap:platform =winphonegap:role =background/> < gap:splash src =www / res / screen / android / screen-ldpi-portrait.pnggap:platform =androidgap:qualifier =port-ldpi/& < gap:splash src =www / res / screen / android / screen-mdpi-portrait.pnggap:platform =androidgap:qualifier =port-mdpi/& < gap:splash src =www / res / screen / android / screen-hdpi-portrait.pnggap:platform =androidgap:qualifier =port-hdpi/& < gap:splash src =www / res / screen / android / screen-xhdpi-portrait.pnggap:platform =androidgap:qualifier =port-xhdpi/& < gap:splash src =www / res / screen / blackberry / screen-225.pnggap:platform =blackberry/& < gap:splash src =www / res / screen / ios / screen-iphone-portrait.pnggap:platform =ioswidth =320height =480/& < gap:splash src =www / res / screen / ios / screen-iphone-portrait-2x.pnggap:platform =ioswidth =640height =960/& < gap:splash src =www / res / screen / ios / screen-iphone-portrait-568h-2x.pnggap:platform =ioswidth =640height =1136 > < gap:splash src =www / res / screen / ios / screen-ipad-portrait.pnggap:platform =ioswidth =768height =1024/> < gap:splash src =www / res / screen / ios / screen-ipad-landscape.pnggap:platform =ioswidth =1024height =768/& < gap:splash src =www / res / screen / windows-phone / screen-portrait.jpggap:platform =winphone/> < access origin =*/> < access uri =https://*.firebaseiosubdomains =true/> < plugin name =cordova-plugin-whitelistversion =1/> < allow-intent href =http:// * / */> < allow-intent href =https:// * / */> < allow-intent href =tel:*/> < allow-intent href =sms:*/> < allow-intent href =mailto:*/> < allow-intent href =geo:*/> < platform name =android> < allow-intent href =market:*/> < / platform> < platform name =ios> < allow-intent href =itms:*/> < allow-intent href =itms-apps:*/> < / platform> < / widget>

我在这里看到的问题看起来是相关的,他们提到问题可能使用 cordova-whitelist-plugin ,并在我的html中添加一个 Content-Security-Policy meta指令可以帮助,但我不知道如何做。

编辑:这里是一些404我得到。网址在网络版中的效果很好。

fonts.googleapis/css?family=RobotoDraft:regular,无法加载资源:服务器响应状态为404(找不到) fonts.googleapis/css?family=Quicksand: 300,400,700无法加载资源:服务器响应状态为404(找不到) fonts.googleapis/css?family=RobotoDraft:regular,bold,italic,thin,light,bolditalic,黑色,中等无法加载资源:服务器响应状态为404(找不到) debug1.build.phonegap/target/target-script-min.js#15bded38-647a- 11e5-95fa-22000b96d1a7无法加载资源:服务器响应状态为404(找不到)

解决方案

@Talula,可能是你没有为你的phonegap编译器设置的版本。这是您需要知道的。

从最新错误的开发商Cordova / Phonegap 你击中:

  • #6 未设置编译器的phonegap版本
  • #7 不为插件设置版本 $ b
  • #10 不在config.xml中添加新的白名单和白名单插件参数。

在 Phonegap Build 论坛中, Petra添加:

我将添加:没有公告,PGB将默认PGB版本从3.7更改。 0至cli-5.2.0。这会导致所有没有在config.xml中设置phonegap-version的用户面临突然需要的splashscreen和whitelist插件以及config和html中的其他白名单规范。

此外,几个插件似乎无法使用cli-5.2.0正确生成,导致有关Class ***。java的日志文件错误消息。

对于#6& #7

使用CLI版本,如果您不为您的平台分配版本或在Phonegap Build没有在config.xml中设置phonegap-version,您将获得最新版本。如果你幸运,你的程序只是按预期工作。如果你不幸运,你会得到一系列的级联错误。

幸运的是,我们所有人,Holly Schinsky写了一个很好的博客文章来解释这一切:

Cordova / PhoneGap版本混淆 devgirl/2014/11/07/cordovaphonegap-version-confusion/

对于#10

这个相对* NEW *要访问网站上的任何网站或资源,您必须使用白名单和白名单插件。如果您使用cordova-android@4.0.0或更高版本,此要求将生效;包括cli-5.1.1。但是,如果您的版本在4.0.0之前,请使用例如3.5.0或3.7.0,那么您将不必添加白名单要求。 / p>

要清楚,白名单已经有一段时间,但插件和要求是非常新的。如您所料,添加白名单后,即会停用defacto开放访问功能。或者说另一种方式,定义开放访问功能被计划和排定消除。此更改标志着删除开放访问功能的一个步骤。

此外,内容安全策略(CSP)吸引了大量开发人员 - 因为它的宣传不够。这个CSP需要进入你使用的每一个HTML页面,就像你必须等待'deviceready'。

相关链接

Phonegap Build论坛:在PGB上升级到cli-5.1.1的注意事项,现在需要白名单

  • Cordova白名单指南
  • Phonegap白名单指南
  • Phonegap Build白名单指南
  • ul>

    I have a web application that I recently tried converting into PhoneGap, but for some reason, when running it on my android, it doesn't have access to the internet. When debugging with chrome via usb, I see the error "Failed to load resource: the server responded with a status of 404 (Not Found)" for all external requests (e.g. loading google fonts as stylesheets from fonts.googleapis in my html, and calling firebase from my js).

    I'm using the default <access origin="*"/> directive, which, to my understanding, should allow full access.

    My complete config.xml is bellow:

    <widget xmlns="www.w3/ns/widgets" xmlns:gap="phonegap/ns/1.0" id="com.phonegap.helloworld" version="1.0.0"> <name>MyApp</name> <description>MyDescription</description> <author href="phonegap" email="support@phonegap">PhoneGap Team</author> <content src="index.html"/> <preference name="permissions" value="none"/> <preference name="orientation" value="default"/> <preference name="target-device" value="universal"/> <preference name="fullscreen" value="true"/> <preference name="webviewbounce" value="true"/> <preference name="prerendered-icon" value="true"/> <preference name="stay-in-webview" value="false"/> <preference name="ios-statusbarstyle" value="black-opaque"/> <preference name="detect-data-types" value="true"/> <preference name="exit-on-suspend" value="false"/> <preference name="show-splash-screen-spinner" value="true"/> <preference name="auto-hide-splash-screen" value="true"/> <preference name="disable-cursor" value="false"/> <preference name="android-minSdkVersion" value="14"/> <preference name="android-installLocation" value="auto"/> <gap:plugin name="org.apache.cordova.battery-status" source="npm"/> <gap:plugin name="org.apache.cordova.camera" source="npm"/> <gap:plugin name="org.apache.cordova.console" source="npm"/> <gap:plugin name="org.apache.cordova.contacts" source="npm"/> <gap:plugin name="org.apache.cordova.device" source="npm"/> <gap:plugin name="org.apache.cordova.device-motion" source="npm"/> <gap:plugin name="org.apache.cordova.device-orientation" source="npm"/> <gap:plugin name="org.apache.cordova.dialogs" source="npm"/> <gap:plugin name="org.apache.cordova.file" source="npm"/> <gap:plugin name="org.apache.cordova.file-transfer" source="npm"/> <gap:plugin name="org.apache.cordova.geolocation" source="npm"/> <gap:plugin name="org.apache.cordova.globalization" source="npm"/> <gap:plugin name="org.apache.cordova.inappbrowser" source="npm"/> <gap:plugin name="org.apache.cordova.media" source="npm"/> <gap:plugin name="org.apache.cordova.media-capture" source="npm"/> <gap:plugin name="org.apache.cordovawork-information" source="npm"/> <gap:plugin name="org.apache.cordova.splashscreen" source="npm"/> <gap:plugin name="org.apache.cordova.vibration" source="npm"/> <icon src="icon.png"/> <icon src="www/res/icon/android/icon-36-ldpi.png" gap:platform="android" gap:qualifier="ldpi"/> <icon src="www/res/icon/android/icon-48-mdpi.png" gap:platform="android" gap:qualifier="mdpi"/> <icon src="www/res/icon/android/icon-72-hdpi.png" gap:platform="android" gap:qualifier="hdpi"/> <icon src="www/res/icon/android/icon-96-xhdpi.png" gap:platform="android" gap:qualifier="xhdpi"/> <icon src="www/res/icon/blackberry/icon-80.png" gap:platform="blackberry"/> <icon src="www/res/icon/blackberry/icon-80.png" gap:platform="blackberry" gap:state="hover"/> <icon src="www/res/icon/ios/icon-57.png" gap:platform="ios" width="57" height="57"/> <icon src="www/res/icon/ios/icon-72.png" gap:platform="ios" width="72" height="72"/> <icon src="www/res/icon/ios/icon-57-2x.png" gap:platform="ios" width="114" height="114"/> <icon src="www/res/icon/ios/icon-72-2x.png" gap:platform="ios" width="144" height="144"/> <icon src="www/res/icon/webos/icon-64.png" gap:platform="webos"/> <icon src="www/res/icon/windows-phone/icon-48.png" gap:platform="winphone"/> <icon src="www/res/icon/windows-phone/icon-173-tile.png" gap:platform="winphone" gap:role="background"/> <gap:splash src="www/res/screen/android/screen-ldpi-portrait.png" gap:platform="android" gap:qualifier="port-ldpi"/> <gap:splash src="www/res/screen/android/screen-mdpi-portrait.png" gap:platform="android" gap:qualifier="port-mdpi"/> <gap:splash src="www/res/screen/android/screen-hdpi-portrait.png" gap:platform="android" gap:qualifier="port-hdpi"/> <gap:splash src="www/res/screen/android/screen-xhdpi-portrait.png" gap:platform="android" gap:qualifier="port-xhdpi"/> <gap:splash src="www/res/screen/blackberry/screen-225.png" gap:platform="blackberry"/> <gap:splash src="www/res/screen/ios/screen-iphone-portrait.png" gap:platform="ios" width="320" height="480"/> <gap:splash src="www/res/screen/ios/screen-iphone-portrait-2x.png" gap:platform="ios" width="640" height="960"/> <gap:splash src="www/res/screen/ios/screen-iphone-portrait-568h-2x.png" gap:platform="ios" width="640" height="1136"/> <gap:splash src="www/res/screen/ios/screen-ipad-portrait.png" gap:platform="ios" width="768" height="1024"/> <gap:splash src="www/res/screen/ios/screen-ipad-landscape.png" gap:platform="ios" width="1024" height="768"/> <gap:splash src="www/res/screen/windows-phone/screen-portrait.jpg" gap:platform="winphone"/> <access origin="*"/> <access uri="*.firebaseio" subdomains="true"/> <plugin name="cordova-plugin-whitelist" version="1"/> <allow-intent href="*/*"/> <allow-intent href="*/*"/> <allow-intent href="tel:*"/> <allow-intent href="sms:*"/> <allow-intent href="mailto:*"/> <allow-intent href="geo:*"/> <platform name="android"> <allow-intent href="market:*"/> </platform> <platform name="ios"> <allow-intent href="itms:*"/> <allow-intent href="itms-apps:*"/> </platform> </widget>

    I was looking at questions here which appear to be related, and they mentioned that the problem might have to do with the cordova-whitelist-plugin and that adding a Content-Security-Policy meta directive in my html could help, but I couldn't figure out how to do that.

    EDIT: Here are some of the 404s I'm getting. The URLs work well from web version.

    fonts.googleapis/css?family=RobotoDraft:regular,bold,italic,thin,light,bolditalic,black,medium Failed to load resource: the server responded with a status of 404 (Not Found) fonts.googleapis/css?family=Quicksand:300,400,700 Failed to load resource: the server responded with a status of 404 (Not Found) fonts.googleapis/css?family=RobotoDraft:regular,bold,italic,thin,light,bolditalic,black,medium Failed to load resource: the server responded with a status of 404 (Not Found) debug1.build.phonegap/target/target-script-min.js#15bded38-647a-11e5-95fa-22000b96d1a7 Failed to load resource: the server responded with a status of 404 (Not Found)

    解决方案

    @Talula, It could be you do not have the version set for your phonegap compiler. Here is what you need to know.

    From Top Mistakes by Developers new to Cordova/Phonegap you have hit:

    • #6 Not setting the "phonegap version" for your compiler
    • #7 Not setting "version" for you plugins
    • #10 Not adding the new "white-list" and "white-list plugin" parameters in config.xml.

    From the Phonegap Build Forum, Petra Adds:

    I would add: without announcement, PGB changed the default PGB-version from 3.7.0 to cli-5.2.0. This causes all those who have not set 'phonegap-version' in config.xml to be confronted with the sudden need of splashscreen and whitelist plugins and additional whitelisting specifications in config and html.

    Also, several plugins seem not to build correctly with cli-5.2.0, causing log file error messages about "Class ***.java".

    For #6 & #7

    With the CLI version, if you do not assign a version for your platform OR in ''Phonegap Build'' if you do not set the phonegap-version in config.xml, YOU WILL GET THE LATEST VERSION. If you are lucky, your program just works as expected. If you are not lucky, you'll get a set of cascading error.

    Luckily for all of us, Holly Schinsky has written a nice blog post to explain it all:

    Cordova/PhoneGap Version Confusion devgirl/2014/11/07/cordovaphonegap-version-confusion/

    For #10

    This relatively * NEW * requirement means ? to access ANY website or resources on the web, you MUST use the whitelist and the whitelist plugin. This requirement goes into affect if you are using cordova-android@4.0.0 or better; including cli-5.1.1. If however, your version is before 4.0.0, let use say 3.5.0 or 3.7.0, then you will not have to add the white-list requirement.

    To be clear, the "whitelist" has been around for a bit, but the plugin and requirement is very new. As you would expect, when the "whitelist" was added, the defacto open-access feature was deprecated. Or said another way, the defacto open-access feature was planned and scheduled to be eliminated. This change marks a step in removal of the open-access feature.

    In addition, the Content Security Policy (CSP) has caught numerous developers - because it was soooo poorly publicized. This CSP needs to go in every single HTML page you used, just like you have to wait for 'deviceready'. The documentation is buried in the bottom of many of the latest documentation pages.

    Related Links

    Phonegap Build Forum: Notes for upgrading to cli-5.1.1 on PGB and now required Whitelist

    • Cordova Whitelist Guide
    • Phonegap Whitelist Guide
    • Phonegap Build Whitelist Guide

更多推荐

PhoneGap“无法加载资源:服务器响应状态为404(找不到)”。

本文发布于:2023-08-03 04:36:27,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1284006.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:找不到   加载   状态   服务器   资源

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!