手机浏览器h5网页跳转ios商店失败 | Failed to launch ‘xx‘ because the scheme does not have a registered handler.

今天遇到的坑,是一个很神奇的bug。。

我之前经常在网页里用这个方法跳转苹果商店,而且都可以成功的:

window.location.href = 'https://apps.apple.com/cn/app/idxxxx';

结果今天遇到了bug,跳转失败了,提示说:

Failed to launch 'itms-services://apps.apple.com/app/id1533597229' because the scheme does not have a registered handler.

 

搞了半天,发现了问题,问题就出在 window.onclick 。

如果是这样写的,点击网页之后就会跳转失败

// 此方法在ios设备上无法正常跳转商店 2020/10/16
window.onclick = function () {
    window.location.href = 'https://apps.apple.com/cn/app/idxxxx';
}

 

正确做法是,把跳转操作绑定到某个元素上面,比如<a>标签,<div>标签。

<!DOCTYPE html>
<html lang="zh-CN">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>

<body>
    <div onclick="download()" style="width: 100px; height: 100px; background: black;">
    </div>
</body>

<script>
  function download () {
    window.location.href = 'https://apps.apple.com/cn/app/idxxxx';
  }
</script>

</html>

 

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值