javascript – 如何重定向到自定义URI方案,或者如果不支持则显示一些内容?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 如何重定向到自定义URI方案,或者如果不支持则显示一些内容?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1850字,纯文字阅读大概需要3分钟。
内容图文
![javascript – 如何重定向到自定义URI方案,或者如果不支持则显示一些内容?](/upload/InfoBanner/zyjiaocheng/809/52c30dc3a66144fc9688fad05920cb21.jpg)
简而言之:是否可以将访问者重定向到自定义URI方案,或者如果不支持该方案,则显示一些内容?
我的特殊用例是我正在创建一个注册自定义URI方案的移动应用程序,以便用户可以通过短信或电子邮件发送链接,邀请其他用户访问应用程序中的某些操作.
链接指向我的服务器(在Apache上运行PHP),服务器将访问者重定向到正确的方案.只要这是所有重定向页面都可以完美地工作,但我希望能够显示一些内容,以防在计算机或其他没有安装我的应用程序的设备上打开电子邮件.
我试图用these Javascript tricks实现这一点,同时提供Location头和服务器上PHP脚本的内容.两者都不起作用.我还尝试使用< meta http-equiv =“Location”content =“myscheme:// testing”>页面上的标记,但也没有做任何事情.
有些人建议使用用户代理嗅探来查看客户端是使用移动设备还是桌面浏览器.我已经在做这个以及初步检查,但它仍然可能在没有安装我的应用程序的移动设备上打开链接,并且这些人将留下空白页面.
有没有办法实现这一目标,还是我运气不好?
解决方法:
修订版,原文在底部:
为了保持快速和干净,我决定保留重定向页面.此外,我认为重定向页面不应该留在浏览器的历史记录中以避免never-ending back-button fiascos.因此我最终得到了这个版本:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Redirecting...</title>
<script>
var redirectToApp = function() {
setTimeout(function appNotInstalled() {
window.location.replace("http://example.com/app-not-installed");
}, 100);
window.location.replace("myscheme:someaction");
};
window.onload = redirectToApp;
</script>
</head>
<body></body>
</html>
原始答案:
经过一些更多的摆弄后,我发现这实际上可以使用Javascript.我只是让它比我的更简单:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Welcome to my app</title>
<script>
var redirectToApp = function() {
document.location = 'myscheme:someaction';
};
window.onload = redirectToApp;
</script>
</head>
<body>
You don't have the app installed.
</body>
</html>
这完全符合我的需要.不幸的是,当重定向无法完成时,它会在Javascript控制台中导致错误,但我想我只能忍受它.
内容总结
以上是互联网集市为您收集整理的javascript – 如何重定向到自定义URI方案,或者如果不支持则显示一些内容?全部内容,希望文章能够帮你解决javascript – 如何重定向到自定义URI方案,或者如果不支持则显示一些内容?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。