【问题标题】:Forcefully open link in safari with iOS 11使用 iOS 11 在 Safari 中强制打开链接
【发布时间】:2018-12-12 16:24:37
【问题描述】:

我正在尝试在 iPhone 中强行打开一个进入 Safari 的链接,但我无法这样做。

所以我的要求是我使用 WebRTC's getUserMedia 从 iPhone 摄像头访问视频,并且使用 Safari 可以正常工作,但是当我尝试在 Chrome 上运行时 getUserMedia 不是工作。我也在 chrome 中尝试了 WebRTCthis 示例,但它不起作用。

所以现在,我想打开始终通过电子邮件与 Safari 共享的链接。

我已经尝试过这个链接,但它们不起作用 -

Force link to open in mobile safari from a web app with javascript

另外,如果 Safari URL Schemes 不起作用,那么也无法使用它。

非常感谢任何建议或帮助。

【问题讨论】:

    标签: javascript ios html safari webrtc


    【解决方案1】:

    我找到了答案!从这里https://gist.github.com/kylebarrow/1042026

    这个脚本在头

    <script>
    // Mobile Safari in standalone mode
    if(("standalone" in window.navigator) && window.navigator.standalone){
    
        // If you want to prevent remote links in standalone web apps opening Mobile Safari, change 'remotes' to true
        var noddy, remotes = false;
    
        document.addEventListener('click', function(event) {
    
            noddy = event.target;
    
            // Bubble up until we hit link or top HTML element. Warning: BODY element is not compulsory so better to stop on HTML
            while(noddy.nodeName !== "A" && noddy.nodeName !== "HTML") {
                noddy = noddy.parentNode;
            }
    
            if('href' in noddy && noddy.href.indexOf('http') !== -1 && (noddy.href.indexOf(document.location.host) !== -1 || remotes))
            {
                event.preventDefault();
                document.location.href = noddy.href;
            }
    
        },false);
    }
    </script>
    

    链接的标准 HTML

    <a href="http://extneral" target="_blank">your link</a>
    

    这样,网页应用下的本地链接仍然在同一个窗口中打开,但外部 http:// 链接会在 Safari 中打开

    【讨论】:

    • 嗨@karthik,感谢您的建议。我已经尝试过了,但它不起作用,它正在同一个浏览器中打开链接。
    • 我担心如果您在一个浏览器中并想在 javaScript 中移动到其他浏览器,则没有解决方法。由于每个浏览器都在沙盒环境中工作,因此它甚至是安全违规@rajat
    • @karthik 不完全正确 - 您可以使用通用链接技术从 Safari 打开 Chrome:location.href="googlechrome" + location.href.substring(4)
    • @hamczu 你知道 Safari 在 iOS 上的 URL 方案是什么吗?
    猜你喜欢
    • 2013-01-10
    • 1970-01-01
    • 1970-01-01
    • 2015-11-25
    • 2021-04-20
    • 2016-12-09
    • 1970-01-01
    • 2016-01-05
    • 1970-01-01
    相关资源
    最近更新 更多