我正在开发一个应用程序,除了自定义URL方案插件(https://github.com/EddyVerbruggen/Custom-URL-scheme)之外,几乎所有内容都可以找到。我已经成功安装了该插件,并设置了一个signrestaurantandbar的自定义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方案加载特定页面的任何提示表示赞赏。
您需要确保在中列出“自定义” URL CSP
。
添加了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';">
通常,通配符设置(*
)可以处理大多数应用程序,但不能处理您的“自定义”协议。
注意:通配符设置有可能使您的应用程序脱离“应用程序商店”。
您可能还需要添加到 config.xml
<allow-intent href="signsrestaurantandbar:" />
此白名单工作表应有所帮助。如何将Cordova / Phonegap应用到白名单系统
您还应该阅读白名单矩阵,尤其是“<allow-intent (...) />
运气最佳”部分
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句