我找到了多种解决方案来阻止iOS网络应用在移动版Safari中打开普通链接,不幸的是它们不适用于包含参数的链接,例如
href="index.php?s=example"
这些仍然在移动版Safari中打开。
到目前为止我找到的普通链接的最短解决方案可以找到here at stackoverflow。也许有人可以修改那个脚本?
答案 0 :(得分:2)
尝试4岁github gist。我用它,它的工作原理。
您可以bower
使用它:
bower install --save iosweblinks
您可能在页面上有javascript错误,处理程序不会调用吗?
P.S。我修改过的脚本可以防止在standalone
模式下在Safari中打开链接:
(function (standalone) {
if (!standalone) {
return;
}
document.addEventListener('click', function (e) {
var element = e.target,
href = '';
while (!/^(a|html)$/i.test(element.nodeName)) {
element = element.parentNode;
}
if (element.getAttribute) {
href = element.getAttribute('href');
if ('' !== href && '#' !== href && null !== href && (!element.protocol || element.protocol !== 'tel:')) {
e.preventDefault();
window.location = element.href;
}
}
}, false);
}(window.navigator.standalone));