【问题标题】:Skype URIs not working under HTTPS on Chrome, iPad, iPhoneSkype URI 在 Chrome、iPad、iPhone 上无法在 HTTPS 下运行
【发布时间】:2013-11-05 13:18:22
【问题描述】:

我正在尝试使用 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 众神祈祷?我只是一个凡人。

【问题讨论】:

  • 只是一个疯狂的猜测:您从 API 加载的资源是通过 HTTP 获取的,当站点本身使用 HTTPS 时,某些浏览器不会获取 HTTP 元素(出于安全原因)。你也许可以配置它。
  • httphttps 上,他们都要求在Chrome 30 中为我启动Skype 程序。
  • 是的 - 您可以通过 http 或 https 获取 skype-uri.js,问题是当我通过 HTTPS 获取它时,当您单击 Skype 按钮时,它说您没有安装 Skype(当我清楚地这样做时),但是当我在 HTTP 下切换所有内容时 - 它又神奇地正常工作了。
  • MackieeE - 我在 Mac 上看到这个问题,Chrome 版本 30.0.1599.101
  • 我正在使用 linux,对我来说,当我将它设置为打开 Skype 时它不起作用,但当我将浏览器设置为打开 xdg-open 以处理 Skype:链接时它确实起作用。

标签: javascript skype


【解决方案1】:

点击脚本正在创建 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>

【讨论】:

    【解决方案2】:

    我认为这是 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 或类似的东西,所以在他们的代码中挖掘可能会带来一个解决方案。

    也许你可以适应这个丑陋的workaround

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-29
      • 1970-01-01
      相关资源
      最近更新 更多