Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery oembed all append iframe到div会使页面太慢而无法呈现_Jquery_Iframe_Oembed - Fatal编程技术网

jquery oembed all append iframe到div会使页面太慢而无法呈现

jquery oembed all append iframe到div会使页面太慢而无法呈现,jquery,iframe,oembed,Jquery,Iframe,Oembed,我正在使用一个插件jquery oembed all。插件提供了oembed功能,可以将外部URL动态嵌入到站点中 插件完成解析oembed内容的所有繁重工作,然后执行以下操作: oembedContainer.append(oembedData.code); 其中,oembedContainer是在本地页面上动态生成的跨度,该跨度将容纳 嵌入的获取内容和oembedData.code是实际内容 抓到了 代码也可以是iframe,这是youtube和其他视频内容的常见情况 如果我在同一个页面上

我正在使用一个插件jquery oembed all。插件提供了oembed功能,可以将外部URL动态嵌入到站点中

插件完成解析oembed内容的所有繁重工作,然后执行以下操作:

oembedContainer.append(oembedData.code);
其中,oembedContainer是在本地页面上动态生成的跨度,该跨度将容纳 嵌入的获取内容和oembedData.code是实际内容 抓到了

代码也可以是iframe,这是youtube和其他视频内容的常见情况

如果我在同一个页面上有很多视频,现在每个iframe都要花费大量的时间来加载,我的页面忙指示器从不停止。我发现,除非所有iFrame都已完全加载,否则很难滚动页面

我想知道facebook是如何提供如此流畅的用户界面的(是的,他们就是facebook)


有什么建议吗,我该如何改进这种情况?

我只是看了一下代码,看看它为什么慢

Youtube没有为oembed()提供JSONP选项,这意味着该库无法通过浏览器直接获取oembed。为了解决这个问题,Yahoo YQL用于获取OEmbed数据并将其包装在一些JSONP中。YQL需要一些时间来返回数据(我发现是1-2秒),因此对于大量的请求,它需要很长时间

这有两个选项: 1.让Youtube将JSONP添加到它的oembed中——这不太可能,因为它不是官方规范的一部分,所以他们不支持它。 2.将库更改为使用iframe lookup:)-更有可能-只需在github上添加一个票证,我会看看我能做些什么


安德鲁

嗨,我是这个插件的作者。你要装多少件?只是iFrame速度慢还是嵌入工作正常?难道不可能异步加载iFrame而不附加到主页体,除非它们已完全加载?我可以看出问题在于iFrame只有其他嵌入才可以正常工作。与慢速响应无关,但也与youtube有关。我可以看到,除非将wmode=transparent附加到它们返回的iframe src,否则youtube iframe不尊重页面上其他组件的z索引。还有什么办法吗?还有一个问题。调用oembed函数的最佳方式是什么?渲染时是否应该为每个项调用它(传入id选择器$(“#somelinkid”)。或者我应该在完成页面呈现后调用它一次,然后在css选择器$('.oembed')上调用oembed吗?基本上,我使用这个插件的页面是一个facebook克隆,它是一个用户社交提要,因此在同一个页面上可能会有100篇帖子,并且可能会有新的帖子出现在各种事件中。好的,我很确定它在异步atm中会这样做。在它们完全加载之前,我不确定是否要添加它们-我必须对此进行调查。如果我将其更改为Iframe,我也许可以添加wmode。你能不能在github上为这些东西开一张罚单,因为我可能会忘记,因为我不经常看堆栈溢出:)我发现最好通过选择器一次加载所有内容,然后加载新项目,然后仅为这些新项目触发。