如果's,如果未安装,则返回到其他URL
Can I make a link that will open in my app if it's installed, and fall back to a different URL if not?
用户可以通过twitter共享我们应用程序中的文件。推文包括一个指向我们服务器的URL,该URL检测用户是否在移动设备上,并使用我们应用程序的自定义方案重定向到URL,以便在我们的应用程序中打开链接。
这对桌面用户和安装了我们应用程序的移动用户来说都很好;但它不适用于那些不这样做的移动用户。因此,我们想做的是向所有用户显示一个页面,该页面包含一个链接,当按下该链接时,如果支持,将使用自定义URL方案打开应用程序,如果不支持,则打开一个不同的URL,用户可以在其中下载我们的应用程序。
所以我要找的是HTML或JS中的答案,它看起来有点像:
<a href="ourapp://www.ourdomain.com/files/12345"
fallbackhref="http://www.ourdomain.com/buyourapp">Click to download</a>
这可能吗?如果是,我们该怎么做?
您可以使用以下代码在Android中实现这一点:
function openLink () {
var appWindow = window.open("ourapp://www.ourdomain.com/files/12345","_blank");
setTimeout( function () {if (appWindow) {
appWindow.location ="http://www.ourdomain.com/buyourapp";
}
},1000);
}
点击链接时调用openLink()
功能(否则浏览器将阻止新窗口弹出)。
iOS的不同之处在于它处理自定义方案的方式。
对于iOS,您需要执行以下操作:使用以下代码片段创建2个HTML文件
文件#1:这是你打开应用程序/回退到网站的链接
<script type="text/javascript">
function openLink (url,customURI) {
window.open("file2.html?lp="+url+"&customURI="+customURI,"_blank");
}
</script>
<img src="IMAGE SOURCE" onclick="openLink('LANDING PAGE','CUSTOM URI')">
文件#2:
<html>
<script>
function openApp () {
var start, end, elapsed;
var params = window.location.href.split("lp=")[1];
var url = params.split("&customURI=")[0];
var customURI = params.split("&customURI=")[1];
var time = (new Date()).getTime();
document.location = customURI+url;
setTimeout(function(){
var now = (new Date()).getTime();
if((now - time)<2550) {
javascript: console.log(new Date().getTime());
document.location = url;
}
else{
window.open('', '_self', '');
window.close();
}
}, 2000);
}
</script>
<body onload="openApp()">
<a onclick="openApp()" id="newButton">Click Here to open the App</a>
</body>
希望这有帮助:)
相关文章:
- 如果返回的数据是javascript,$.ajax会自动执行脚本吗
- 如果在构造函数中有“返回”,则在 JavaScript 中的新运算符中做了什么
- 如果函数返回True,则显示Javascript按钮
- 如果在过去两个小时内没有记录,返回0,javascript逻辑
- 我如何才能继续'如果'语句来比较作为参数的多个函数返回值
- 试图清理一个电话号码,以便如果它像816-345-6757一样被输入,它会像8163456757一样返回它
- 如果总是执行finally,为什么try会返回未更改的值
- 如果我返回表,检查 Ajax 调用是否为 200 OK的最佳方法是什么
- 如果URL中有任何字符串变体匹配,则返回true
- 如果URL's链接返回错误
- 如果返回false,如何在提交时关闭引导模式
- 如果返回错误
- 浏览器返回上一页功能,如果返回如何重新加载文档
- object.valueOf(),如果返回false
- 如果返回true,则检查Javascript对象属性
- 如果返回的值为true,则加载另一个分部
- onkeypress事件的奇怪行为页面重新加载如果"返回false;"是缺失的,否则它不会让我输入任
- 如何抓取搜索结果,如果返回javascript(使用python)
- 如果返回的内容不为空,则停止setInterval
- 如果返回值为空,则隐藏行