Skype URI在Chrome,iPad,iPhone上的HTTPS下不起作用

Skype URIs not working under HTTPS on Chrome, iPad, iPhone

本文关键字:上的 HTTPS 不起作用 iPhone iPad URI Chrome Skype      更新时间:2023-09-26

我正在尝试使用Skype javascript API,并注意到一些疯狂:如果我的页面是HTTP,一切正常(所有Skype按钮和skype:协议hrefs),但是一旦我将其移动到HTTPS,它就会在Chrome,iPad和iPhone中中断。案例和要点:

呼叫按钮在这里工作:http://developer.skype.com/skype-uris/skype-uri-tutorial-webpages#uriTJS_Generator

呼叫按钮在这里不起作用:https://developer.skype.com/skype-uris/skype-uri-tutorial-webpages#uriTJS_Generator

这是在他们自己的网站上,这不是工作...

谁能建议我应该做一些系列的雨舞来解决这个问题?向Skype众神祈祷?我只是一个凡人。

单击脚本正在创建 iframe 并添加 src="skype:echo123;+16505550123?call",然后在 mb21 所述错误发生或发生"限制性安全策略"时。

function a(s, v, t) {
    var u = true;
    window.onblur = function () {
        u = false
    };
    var r = document.getElementById(v);
    if (r !== null) {
        r.src = s         //here error happens....
    }
    setTimeout(function () {
        if (u) {
            alert(Skype.installSkypeMsg);
            Skype.tryAnalyzeSkypeUri("redirect", t);
            window.location = Skype.SkypeClientDownloadUrl
        }
    }, 2000)
}

只使用:

<a onclick="window.location='skype:echo123;+16505550123?call';return false;" href="">link</a>

我认为这是Chrome(和其他浏览器)中的一个错误(或相当严格的安全策略)。在Chrome开发人员控制台中,我得到:

[blocked] The page at https://developer.skype.com/skype-uris/skype-uri-tutorial-webpages#uriTJS_Generator ran insecure content from skype:echo123;+16505550123?call.

它将skype:echo123;+16505550123?call视为URL并发现它不安全(即不https),因此浏览器拒绝加载它。Skype SDK中的JavaScript可能使用window.open或类似的东西,因此在他们的代码中挖掘可能会带来一个解决方案。

也许你可以适应这个丑陋的解决方法?