Cordova 无法将 URL 重定向到外部服务器

Posted

技术标签:

【中文标题】Cordova 无法将 URL 重定向到外部服务器【英文标题】:Cordova doesn’t work redirecting URL to outside server 【发布时间】:2016-02-28 23:27:02 【问题描述】:

我正在尝试在 android 中制作一个应用程序,它可以让您填写清单表格,同时让您用相机拍摄一些照片。我安装了最新版本的 Cordova、Java JDK、Android SDK、Apache ANT、NodeJS 等。

我希望应用使用“super.loadUrl()”加载外部 URL。

我的问题是,在loadUrl(launchUrl) 中运行 html 代码时,它可以正常工作,并且相机被激活,超出了 URL,它甚至没有 [你是什么意思?]我将platforms\android\assets\www 中的所有文件复制到服务器,还有“cordova.js”。

提前致谢!

【问题讨论】:

【参考方案1】:

将其包含在您的 config.xml 中 <access origin="*"/>

【讨论】:

【参考方案2】:

可能是您需要放松的限制。 见access origin。

【讨论】:

【参考方案3】:

这是我的 config.xml。 “访问原点”接缝没问题。更多的应用程序打开 de out html 但是当我想拍照时,它什么也没做:

<widget id="net.techniksoft3.app" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <preference name="loglevel" value="DEBUG" />
    <feature name="Whitelist">
        <param name="android-package" value="org.apache.cordova.whitelist.WhitelistPlugin" />
        <param name="onload" value="true" />
    </feature>
    <feature name="Camera">
        <param name="android-package" value="org.apache.cordova.camera.CameraLauncher" />
    </feature>
    <feature name="File">
        <param name="android-package" value="org.apache.cordova.file.FileUtils" />
        <param name="onload" value="true" />
    </feature>
    <feature name="Media">
        <param name="android-package" value="org.apache.cordova.media.AudioHandler" />
    </feature>
    <feature name="Capture">
        <param name="android-package" value="org.apache.cordova.mediacapture.Capture" />
    </feature>
    <feature name="FileTransfer">
        <param name="android-package" value="org.apache.cordova.filetransfer.FileTransfer" />
    </feature>
    <allow-intent href="market:*" />
    <name>TechnikSoft</name>
    <description>
        A sample Apache Cordova application that responds to the deviceready event.
    </description>
    <author email="dev@cordova.apache.org" href="http://cordova.io">
        Apache Cordova Team
    </author>
    <content src="index.html" />
    <access origin="*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />
</widget>

【讨论】:

【参考方案4】:

我发现了错误。 config.xml 中缺少这部分

<allow-navigation href="http://*/*" launch-external="yes" />
<allow-navigation href="https://*/*" launch-external="yes" />
<allow-navigation href="data:*" launch-external="yes" />

非常感谢您的帮助。

【讨论】:

以上是关于Cordova 无法将 URL 重定向到外部服务器的主要内容,如果未能解决你的问题,请参考以下文章

无法重定向到 MVC 控制器中的外部 URL

Xampp - 将外部 url 重定向到 localhost

如何在 Django 中重定向到外部 URL?

如何从 ASP.Net 发布然后重定向到外部 URL?

在laravel中重定向到外部url时如何保留会话数据

重定向到外部网站时,url 被附加到请求的 url 的末尾