IE9及更低版本中的Youtube API

斯特凡

我正在使用Youtube API(https://developers.google.com/youtube/v3/?hl=zh-CN),尤其是:播放列表,播放列表项和要加载的频道。

这在所有使用IE9及更低版本的浏览器中都很好用。在这里,我总是会"No Transport"出错。

这是一个简单的示例代码:

<!Doctype html>
<html>
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Youtube API Test</title>
</head>    
<body>
    <code>    
    </code>    
    <script src="Scripts/jquery-2.1.4.js"></script>  
    <script>
        $.ajax({
            cache: false,
            type: 'GET',
            crossDomain: true,
            url: 'https://www.googleapis.com/youtube/v3/playlistItems',
            contentType: 'application/json; charset=utf-8',
            dataType: 'json',
            success: function (data) {
                $('code').text(JSON.stringify(data, null, 4));
            },
            error: function (err) {
                $('code').text(JSON.stringify(err, null, 4));
            }
        });
    </script>
</body>
</html>

(请注意,我删除了参数,在Chrome和FF中,这会返回youtube错误,在IE中是“无传输”错误)。

我尝试使用xdomain插件(https://github.com/jpillora/xdomain

XDomainRequest插件(https://github.com/MoonScript/jQuery-ajaxTransport-XDomainRequest#instructions

这里的建议,没有成功。我缺少的东西对其他人有用吗?

斯特凡

问题是,您无法从http站点向https服务进行ajax调用!!避开我发现的所有示例失败:

  1. 请求必须针对与托管页面相同的方案

此限制意味着,如果您的AJAX页面位于http://example.com,则您的目标URL也必须以HTTP开头。同样,如果您的AJAX页面位于https://example.com,则目标URL也必须以HTTPS开头。

我们绝对希望阻止HTTPS页面对基于HTTP的资源发出XDomainRequests,因为这种情况提出了混合内容安全威胁,许多开发人员和大多数用户都不了解。

但是,此限制过于广泛,因为它阻止HTTP页面发出以HTTPS页面为目标的XDomainRequests。虽然HTTP页面本身确实受到了威胁,但没有理由禁止它安全地接收公共资源。

最糟糕的是,Same Scheme限制意味着使用file://方案在本地测试其页面的Web开发人员将发现,由于file://与http://或https:/不匹配,所有XDomainRequests均被阻止。 /,这是唯一有效的目标方案(第1点)。若要解决此问题,Web开发人员必须将其页面托管在本地Web服务器(例如IIS,Visual Studio托管服务器等)上。

来源:http//blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx

带有Visual Studio内置ASP.NET开发服务器的HTTPS带有Visual Studio内置ASP.NET开发服务器的HTTPS

关于SO:JavaScript跨域调用:从HTTP到HTTPS的调用

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正确删除API 16及更低版本中的复选框的正确方法

来自分类Dev

ASP.NET Web窗体-IE9及更低版本中的<iframe>内的按钮不起作用

来自分类Dev

jQuery Detect IE9及更低版本的浏览器并抛出升级模式

来自分类Dev

不展示适用于Android API 8或更低版本的广告

来自分类Dev

我的应用在 API 21 及更低版本的设备上崩溃

来自分类Dev

Javascript交换div在IE 9或更低版本中不起作用

来自分类Dev

Android:在可绘制的xml中,在图层列表中,为什么项目的宽度在API 19或更低版本中不起作用?

来自分类Dev

如何检查位置是否在API 18及更低版本上并且处于较高优先级

来自分类Dev

如何在API19及更低版本的设备上用新的抽屉动画替换应用程序图标?

来自分类Dev

在引导程序3中,输入搜索栏未覆盖IE 9及更低版本中列的全部宽度

来自分类Dev

YouTube API .loadVideoById()在IE9和IE10中失败

来自分类Dev

删除ie8及更低版本中的JS和CSS文件

来自分类Dev

IE 8及更低版本中的Javascript链接不可点击

来自分类Dev

IE8及更低版本中具有selectivizr的CSS3伪类

来自分类Dev

删除ie8及更低版本中的JS和CSS文件

来自分类Dev

.NET 3.5及更低版本中内联的替代方法

来自分类Dev

Java 5或更低版本中的抽象类

来自分类Dev

Android M及更低版本中的LineHeightSpan

来自分类Dev

Android M及更低版本中的LineHeightSpan

来自分类Dev

如何在IE8和更低版本的浏览器中应用伪类(nth-of-type)

来自分类Dev

为什么在 Swift 3 或更低版本中制作的项目会出现支持 Swift 4.1 的新 Xcode 9 错误?

来自分类Dev

如何阻止从IE8或更低版本访问网站?

来自分类Dev

IE9中的LinkedIn Javascript API授权失败

来自分类Dev

带有iframe嵌入的Android WebView在4.2.2及更低版本中未显示

来自分类Dev

膨胀NavigationView会导致Android 4.4及更低版本中的异常

来自分类Dev

Opcache-在PHP5.4和更低版本中清理缓存

来自分类Dev

Android:在2.XX或更低版本的Webview中单击时不会弹出

来自分类Dev

YouTube API seekTo仅播放声音,而在IE9和IE10上的第二次播放中则没有图片

来自分类Dev

背景图片不会在IE8或更低版本中显示,但可以在Firefox和Chrome中使用

Related 相关文章

  1. 1

    正确删除API 16及更低版本中的复选框的正确方法

  2. 2

    ASP.NET Web窗体-IE9及更低版本中的<iframe>内的按钮不起作用

  3. 3

    jQuery Detect IE9及更低版本的浏览器并抛出升级模式

  4. 4

    不展示适用于Android API 8或更低版本的广告

  5. 5

    我的应用在 API 21 及更低版本的设备上崩溃

  6. 6

    Javascript交换div在IE 9或更低版本中不起作用

  7. 7

    Android:在可绘制的xml中,在图层列表中,为什么项目的宽度在API 19或更低版本中不起作用?

  8. 8

    如何检查位置是否在API 18及更低版本上并且处于较高优先级

  9. 9

    如何在API19及更低版本的设备上用新的抽屉动画替换应用程序图标?

  10. 10

    在引导程序3中,输入搜索栏未覆盖IE 9及更低版本中列的全部宽度

  11. 11

    YouTube API .loadVideoById()在IE9和IE10中失败

  12. 12

    删除ie8及更低版本中的JS和CSS文件

  13. 13

    IE 8及更低版本中的Javascript链接不可点击

  14. 14

    IE8及更低版本中具有selectivizr的CSS3伪类

  15. 15

    删除ie8及更低版本中的JS和CSS文件

  16. 16

    .NET 3.5及更低版本中内联的替代方法

  17. 17

    Java 5或更低版本中的抽象类

  18. 18

    Android M及更低版本中的LineHeightSpan

  19. 19

    Android M及更低版本中的LineHeightSpan

  20. 20

    如何在IE8和更低版本的浏览器中应用伪类(nth-of-type)

  21. 21

    为什么在 Swift 3 或更低版本中制作的项目会出现支持 Swift 4.1 的新 Xcode 9 错误?

  22. 22

    如何阻止从IE8或更低版本访问网站?

  23. 23

    IE9中的LinkedIn Javascript API授权失败

  24. 24

    带有iframe嵌入的Android WebView在4.2.2及更低版本中未显示

  25. 25

    膨胀NavigationView会导致Android 4.4及更低版本中的异常

  26. 26

    Opcache-在PHP5.4和更低版本中清理缓存

  27. 27

    Android:在2.XX或更低版本的Webview中单击时不会弹出

  28. 28

    YouTube API seekTo仅播放声音,而在IE9和IE10上的第二次播放中则没有图片

  29. 29

    背景图片不会在IE8或更低版本中显示,但可以在Firefox和Chrome中使用

热门标签

归档