今天遇到的坑,是一个很神奇的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>