gpt4 book ai didi

javascript - 在 Cordova 中将 handleOpenURL 与自定义 URL 方案结合使用

转载 作者:可可西里 更新时间:2023-11-01 01:50:29 24 4
gpt4 key购买 nike

我正在开发一个应用程序,几乎所有的事情都弄清楚了,除了自定义 URL 方案插件(https://github.com/EddyVerbruggen/Custom-URL-scheme)。我已经成功安装了插件并设置了 signsrestaurantandbar 的自定义 URL 方案。因此,当我使用 signsrestaurantandbar://时,我的应用程序将打开。我面临的问题是处理 URL。在自述文件中,它说我可以为此使用函数 handleOpenURL(URL),但我在尝试加载应用程序中的特定页面时仍然遇到问题。

这是我尝试过的:

function handleOpenURL(url) {
var strValue = url;
strValue = strValue.replace('signsrestaurantandbar://','');
window.location.href = strValue + ".html";
}

我把它放在我的 index.html 页面中……虽然它应该在加载 signsrestaurantandbar://page 时打开 page.html,但它没有正确执行。在我的 chrome 控制台中,它说它加载了页面,但它显示为空白,没有任何错误,而且这种情况只发生一次。当我第二次尝试加载 signsrestaurantandbar://page 时,它​​只会加载应用程序。

对于如何使用自定义 URL 方案加载特定页面的任何提示,我将不胜感激。

最佳答案

您需要确保在 CSP 中列出您的“自定义”URL .

添加于 2016-02-11:注意:您的应用现在不安全。保护您的应用程序取决于您。

它看起来像这样:

<meta http-equiv="Content-Security-Policy" 
content="default-src * signsrestaurantandbar:;
style-src * 'self' 'unsafe-inline' 'unsafe-eval';
script-src * 'self' 'unsafe-inline' 'unsafe-eval';">

通常通配符设置 ( * ) 可以处理大多数应用程序,但不能处理您的“自定义”协议(protocol)。
注意:通配符设置有可能使您的应用程序远离“应用商店”。

您可能还需要添加到您的 config.xml

<allow-intent href="signsrestaurantandbar:" />

白名单 工作表应该有所帮助。 HOW TO apply the Cordova/Phonegap the whitelist system

您还应该阅读 whitelist matrix ,尤其是关于 <allow-intent (...) /> 的部分- 祝你好运

关于javascript - 在 Cordova 中将 handleOpenURL 与自定义 URL 方案结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34257097/

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