草庐IT

javascript - 如何检测 Chrome 的 "click-to-play"Flash 阻止功能当前处于事件状态

coder 2024-05-10 原文

跟踪 Chrome 的点击播放功能的状态

您如何检测 Flash 插件已被暂时禁用,或者相反,如何检测它已因 Chrome 的“点击播放”功能而启用?

背景

Chrome 的新“点击播放”功能可检测不明显的插件并暂停它们。 Chrome 在插件上显示一个“播放”按钮,用户可以单击“播放”按钮来激活插件。 (引用:https://productforums.google.com/forum/#!topic/chrome/xPcpRBzyPcc)

这是它的实际截图(注意白色播放按钮):

您可以在这个屏幕截图中看到它暂停了一个视频播放器(右栏)。该视频播放器具有覆盖基于 Flash 的视频播放器的基于 HTML5 的控件。因此,用户无法单击播放按钮,因为整个 SWF 文件都被基于 HTML5 的播放/暂停控件有意覆盖。

我需要的是检测 SWF 何时被“点击播放”功能暂停,以便我可以禁用控件并使 SWF 具有交互性。

我尝试过的

  1. 在 JavaScript 中 - 通过 ExternalInterface 公开的所有方法尽管 SWF 已暂停,但仍然可用。它实际上像在播放一样响应并且不返回错误。
  2. 在 JavaScript 中 - 更新嵌入的大小 <object>至 > 700x400 像素。 “点击播放”不会暂停这种大小的 SWF。所以,我尝试使用 -webkit-transfor: scale(0.5)使用 CSS 将其缩放回所需的大小。无论如何,Chrome 都会计算最终呈现的大小并暂停 SWF。
  3. 在 Flash 中 - stage.frameRate返回正确的值(例如,它没有设置为 0 来暂停 SWF)

在写下这个问题时,我找到了答案,但还是决定在这里发帖,以防其他人在这个问题上需要帮助。

最佳答案

为了其他正在寻找有关 Flash 阻止内容的规则的人的利益,请在下面查看它们:

  • Flash 内容和页面从同一个域加载。
    Flash 对象的未知宽度和高度,即当 Chrome 获取 宽度和高度为 0 或小于 0。
  • Flash 内容是 由用户在 Chrome 设置中列入白名单。
  • 的宽度和高度 每个 Flash 对象都小于或等于 5,考虑到 内容要小而重要。
  • 的宽度和高度 Flash 对象等于或大于 398x298。
  • 纵横比 内容的比例为 16:9,(允许偏差为 0.01)并且 宽度*高度区域至少为 120K。

至少需要满足上述条件之一,才能将内容标记为基本内容而不是自动暂停。不过,我发现很少有偏差,而且 Chrome 还没有就规则发表任何公开声明。

关于javascript - 如何检测 Chrome 的 "click-to-play"Flash 阻止功能当前处于事件状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32876385/

有关javascript - 如何检测 Chrome 的 "click-to-play"Flash 阻止功能当前处于事件状态的更多相关文章

  1. ruby - 在 Ruby 程序执行时阻止 Windows 7 PC 进入休眠状态 - 2

    我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0

  2. ruby-on-rails - rails : "missing partial" when calling 'render' in RSpec test - 2

    我正在尝试测试是否存在表单。我是Rails新手。我的new.html.erb_spec.rb文件的内容是:require'spec_helper'describe"messages/new.html.erb"doit"shouldrendertheform"dorender'/messages/new.html.erb'reponse.shouldhave_form_putting_to(@message)with_submit_buttonendendView本身,new.html.erb,有代码:当我运行rspec时,它失败了:1)messages/new.html.erbshou

  3. ruby-on-rails - 由于 "wkhtmltopdf",PDFKIT 显然无法正常工作 - 2

    我在从html页面生成PDF时遇到问题。我正在使用PDFkit。在安装它的过程中,我注意到我需要wkhtmltopdf。所以我也安装了它。我做了PDFkit的文档所说的一切......现在我在尝试加载PDF时遇到了这个错误。这里是错误:commandfailed:"/usr/local/bin/wkhtmltopdf""--margin-right""0.75in""--page-size""Letter""--margin-top""0.75in""--margin-bottom""0.75in""--encoding""UTF-8""--margin-left""0.75in""-

  4. ruby - 检查 "command"的输出应该包含 NilClass 的意外崩溃 - 2

    为了将Cucumber用于命令行脚本,我按照提供的说明安装了arubagem。它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了require'aruba/cucumber'在'features/env.rb'中为了确保它能正常工作,我写了以下场景:@announceScenario:Testingcucumber/arubaGivenablankslateThentheoutputfrom"ls-la"shouldcontain"drw"假设事情应该失败。它确实失败了,但失败的原因是错误的:@announceScenario:Testingcucumber/ar

  5. ruby-on-rails - rails : save file from URL and save it to Amazon S3 - 2

    从给定URL下载文件并立即将其上传到AmazonS3的更直接的方法是什么(+将有关文件的一些信息保存到数据库中,例如名称、大小等)?现在,我既不使用Paperclip,也不使用Carrierwave。谢谢 最佳答案 简单明了:require'open-uri'require's3'amazon=S3::Service.new(access_key_id:'KEY',secret_access_key:'KEY')bucket=amazon.buckets.find('image_storage')url='http://www.ex

  6. ruby - 续集在添加关联时访问many_to_many连接表 - 2

    我正在使用Sequel构建一个愿望list系统。我有一个wishlists和itemstable和一个items_wishlists连接表(该名称是续集选择的名称)。items_wishlists表还有一个用于facebookid的额外列(因此我可以存储opengraph操作),这是一个NOTNULL列。我还有Wishlist和Item具有续集many_to_many关联的模型已建立。Wishlist类也有:selectmany_to_many关联的选项设置为select:[:items.*,:items_wishlists__facebook_action_id].有没有一种方法可以

  7. ruby-on-rails - rails : How to make a form post to another controller action - 2

    我知道您通常应该在Rails中使用新建/创建和编辑/更新之间的链接,但我有一个情况需要其他东西。无论如何我可以实现同样的连接吗?我有一个模型表单,我希望它发布数据(类似于新View如何发布到创建操作)。这是我的表格prohibitedthisjobfrombeingsaved: 最佳答案 使用:url选项。=form_for@job,:url=>company_path,:html=>{:method=>:post/:put} 关于ruby-on-rails-rails:Howtomak

  8. ruby-on-rails - 迷你测试错误 : "NameError: uninitialized constant" - 2

    我遵循MichaelHartl的“RubyonRails教程:学习Web开发”,并创建了检查用户名和电子邮件长度有效性的测试(名称最多50个字符,电子邮件最多255个字符)。test/helpers/application_helper_test.rb的内容是:require'test_helper'classApplicationHelperTest在运行bundleexecraketest时,所有测试都通过了,但我看到以下消息在最后被标记为错误:ERROR["test_full_title_helper",ApplicationHelperTest,1.820016791]test

  9. ruby-on-rails - link_to 不显示任何 rails - 2

    我试图在索引页中创建一个超链接,但它没有显示,也没有给出任何错误。这是我的index.html.erb代码。ListingarticlesTitleTextssss我检查了我的路线,我认为它们也没有问题。PrefixVerbURIPatternController#Actionwelcome_indexGET/welcome/index(.:format)welcome#indexarticlesGET/articles(.:format)articles#indexPOST/articles(.:format)articles#createnew_articleGET/article

  10. ruby - 无法覆盖 irb 中的 to_s - 2

    我在pry中定义了一个函数:to_s,但我无法调用它。这个方法去哪里了,怎么调用?pry(main)>defto_spry(main)*'hello'pry(main)*endpry(main)>to_s=>"main"我的ruby版本是2.1.2看了一些答案和搜索后,我认为我得到了正确的答案:这个方法用在什么地方?在irb或pry中定义方法时,会转到Object.instance_methods[1]pry(main)>defto_s[1]pry(main)*'hello'[1]pry(main)*end=>:to_s[2]pry(main)>defhello[2]pry(main)

随机推荐