【问题标题】:Youtube embedded video views do not countYoutube 嵌入式视频观看次数不计算在内
【发布时间】:2014-07-12 18:33:58
【问题描述】:

许多资源声称,如果没有自动播放,嵌入式 youtube 视频的观看次数确实会计算在内。 但其实不算,也没有自动播放!代码是:

<iframe width="420" height="315" 
        src="//www.youtube.com/embed/bPnFnHSSO3E?rel=0" 
        frameborder="0" allowfullscreen>
</iframe>

即使我将整个嵌入视频播放到最后,使用此代码的视频观看次数也不会计算在内!如果直接在 youtube 上观看,观看次数会增加,因此这不是“300 次观看问题”。

我尝试添加enablejsapi 选项,但效果不佳。

<iframe width="420" height="315" 
        src="//www.youtube.com/embed/bPnFnHSSO3E?rel=0&enablejsapi=1" 
        frameborder="0" allowfullscreen>
</iframe>

rel=0 选项也不影响这一点。

我找到了几个提到这个问题但没有明确解决方案的资源:

我在 Chrome 34.0.1847.131 m(当前版本)中对此进行了测试,这样我在 youtube 上打开了视频,重新加载了它,并且观看次数增加了一个。然后我将嵌入的视频加载到另一个选项卡中,将它们运行到最后几次(有时我什至尝试使用私人窗口和使用两个不同代理的不同 IP),然后我在 youtube 上重新加载了窗口 - 观看次数仍然只有 +高 1,而不是应有的 +3 或 +4。

【问题讨论】:

  • 所以我怀疑您的问题是“我如何让嵌入式视频发挥作用?”...?
  • 还要注意 iFrame API 文档中的这一点:“注意:如果通过播放器中的本机播放按钮启动播放,则播放仅计入视频的官方观看次数”。 developers.google.com/youtube/iframe_api_reference
  • @mrbubbles 是的,这是 Youtube 所说的,但事实并非如此。我的示例中没有自动播放,视频是使用播放按钮手动运行的。
  • 将 origin 参数添加到 URL 有什么不同吗? “作为一项额外的安全措施,您还应该在 URL 中包含 origin 参数,指定 URL 方案(http:// 或 https://)和主机页面的完整域作为参数值。虽然 origin 是可选的,包括它可以防止恶意第三方 JavaScript 被注入您的页面并劫持您的 YouTube 播放器的控制权。” -- developers.google.com/youtube/…
  • “将 origin 参数添加到 URL 有什么不同吗?” - 你是什么意思?你能举个例子吗?我只是使用视频下的代码生成器(分享>嵌入)

标签: javascript html video youtube


【解决方案1】:

您的视频有 301 次观看,这是观看次数的安全系统,看:

当视频的观看次数达到 301 次时,计数器会停止(仍在后台计算),但 youtube 会检查观看次数的真实性,这需要几天时间,请记住,youtube 同时在许多服务器上工作,因此他们需要收集所有视图元数据并进行验证(因为很多人使用机器人来获取大量视图)。

批准后,观看次数恢复正常。

希望对你有帮助

PD:抱歉英语不好。

【讨论】:

  • 不,这不是原因。您可以在尚未达到 300 次观看的第二个视频上进行测试:www.youtube.com/v/bPnFnHSSO3E,您会发现这显然不是问题的核心。
  • @TMS 不一定是假的。这可能不是您的问题的原因,但答案似乎是正确的。查看此视频youtube.com/watch?v=oIkhgagvrjI .. 在评论部分下,您会看到人们抱怨观看次数冻结在不同的计数。
  • 这不是答案。 如果我告诉你这不是问题,因为我测试过它,那么这不是问题!视频youtube.com/v/bPnFnHSSO3E 有 31 次观看,即使在将近一周后也从未出现过缺失的观看次数。
  • @TMS 这一个答案,它是否是您问题的解决方案是另一回事。而不是所有的大写单词和加粗的东西,就好像你在大喊大叫一样,你可能想把精力放在你的 OP 中,并声明你已经测试了 ~300 计数冻结,发现它与你当前的问题无关......
  • 刚过来查旧答案,看来OP压力很大哈哈哈
【解决方案2】:

我发现解决此问题的唯一方法是检查Use old embed code 选项:

因此它使用&lt;object&gt;&lt;embed&gt;&lt;param&gt; 生成了旧的嵌入代码:

<object width="420" height="315"><param name="movie"
value="//www.youtube.com/v/bPnFnHSSO3E?version=3&amp;hl=en_US"></param><param
name="allowFullScreen" value="true"></param><param name="allowscriptaccess"
value="always"></param><embed
src="//www.youtube.com/v/bPnFnHSSO3E?version=3&amp;hl=en_US"
type="application/x-shockwave-flash" width="420" height="315"
allowscriptaccess="always" allowfullscreen="true"></embed></object>

这样,嵌入式视频的观看次数就可以计算! (在 Chrome 34.0.1847.131 m 中测试)。

youtube documentation 中所述,此代码仅支持 Flash,不支持 HTML5。

虽然这不是一个好的解决方案!但我现在不知道有什么更好的解决方案。

【讨论】:

  • 您有没有找到任何更好的解决方案
猜你喜欢
  • 1970-01-01
  • 2020-09-17
  • 1970-01-01
  • 1970-01-01
  • 2013-08-15
  • 1970-01-01
  • 2015-01-10
  • 2013-11-29
  • 1970-01-01
相关资源
最近更新 更多