$.get使用google API检索YouTube视频,在IE中不返回任何内容



下面是我使用Google API检索YouTube视频的代码:

                   $.get(
                   "https://www.googleapis.com/youtube/v3/search",{
                   part : 'snippet', 
                   q:searchKey,
                   maxResults:3,
                   type:'video',
                   channelId:'Ufdefew3E0iGDp-5OmR8Ddww',
                   order:'date',
                   key: apiKey},
                   function(data) {                 
                      $.each( data.items, function( i, item ) {
                     .............
                          }
                      });

这段代码在我的任何IE浏览器中都没有返回任何内容,但我看到它在chrome和FF中工作。有人能帮我吗?提前谢谢。

如果您使用的是IE8或IE9,这是因为尽管IE8和IE9确实支持跨源资源共享(这是该请求工作所需的),但它们不支持使用通常的XMLHttpRequest对象;相反,您必须使用XDomainRequest对象。jQuery没有为您解决这个特定的跨浏览器问题,所以$.get不能在IE8和IE9上使用CORS。

如果你搜索,有一个jQuery的补丁或插件可以让它与IE8或IE9一起工作。

IE10及以上版本正确支持CORS(我不知道当页面以严重误名的"兼容性"模式显示时,这是否属实;在tra中,默认情况下的网页是,所以如果您在IE10中进行本地测试并遇到问题,可能是告诉IE不要以兼容性模式显示intranet页面)。X-UA-Compatible元报头也可以在这里发挥作用。(当使用任何高级功能时,我倾向于在head的顶部附近包含<meta http-equiv="X-UA-Compatible" content="IE=edge">。)

IE7及以下版本根本不支持CORS。

相关内容

  • 没有找到相关文章

最新更新