小编pot*_*nch的帖子

如何检测Chrome的"点击播放"Flash阻止功能何时处于活动状态

跟踪Chrome的即点即用功能状态

您如何检测到Flash插件已被暂时禁用,或者相反,如果检测到Chrome已启用,则会因Chrome的"点击播放"功能而启用?

背景

Chrome的新"点击播放"功能会检测不明显的插件,并暂停它们.Chrome在插件上显示"播放"按钮,用户可以点击"播放"按钮激活插件.(参考:https://productforums.google.com/forum/#!topic /rome/xPcpRBzyPcc)

这是它在行动中的截图(注意白色播放按钮): 默认情况下禁用NFL.com Flash插件

您可以在此屏幕截图中看到它已暂停视频播放器(右栏).该视频播放器具有基于HTML5的控件,覆盖基于Flash的视频播放器.因此,用户无法单击播放按钮,因为基于HTML5的播放/暂停控件有目的地涵盖整个SWF.

我需要的是检测SWF何时被"点击播放"功能暂停,这样我就可以禁用控件并使SWF交互.

我试过的

  1. 在JavaScript中 - ExternalInterface虽然SWF暂停,但仍然可以使用所有暴露在外的方法.它实际上响应它正在播放并且不会返回错误.
  2. 在JavaScript中 - 将嵌入的大小更新<object>为> 700x400px."点击播放"不会暂停此大小的SWF.因此,我尝试-webkit-transfor: scale(0.5)使用CSS将其缩放回所需的大小.Chrome计算最终渲染大小并暂停SWF.
  3. 在Flash中 - stage.frameRate返回正确的值(例如,它未设置为0以暂停SWF)

在写这个问题时,我找到了答案,决定在这里发帖,以防其他人需要帮助解决这个问题.

javascript flash google-chrome

13
推荐指数
1
解决办法
3824
查看次数

用于使用sRGB照片和监视器RGB组件开发网站的颜色配置文件策略

概观

我正在寻找关于在comps上标准化颜色配置文件的建议/解决方案,因此HTML/CSS渐变/混合匹配效果在comp中实现.我经常使用sRGB颜色配置文件获取PSD,所以当我选择颜色来重新创建渐变/图标/或背景时,HEX颜色和生成的CSS/HTML渐变与comp中提供的原始sRGB渐变不匹配.通常我只是丢弃Monitor RGB颜色配置文件的嵌入颜色配置文件,以便更好地匹配PSD颜色和最终结果CSS颜色.这是一个显示颜色配置文件之间差异的示例.

细节

所以这就是困境:设计师想要将PSD标准化以使用嵌入式sRGB颜色配置文件,因为导出的图像(JPEG/PNG)保留了sRGB颜色配置文件,以便在浏览器中加载时正确显示.因此,我无法在CSS中重新创建的照片/纹理/事物将导出为具有更好的sRGB配置文件的JPEG/PNG(这是一个可以理解的请求).

作为一名前端开发人员,我经常使用CSS和HTML(无图像)重新创建 comp中显示的元素,这要求我在PSD中的内容和网站上呈现的内容之间正确匹配HEX颜色.因此,我更倾向于使用Monitor RGB颜色配置文件进行标准化,以便每个人都使用更接近浏览器中实际呈现的内容.

只是好奇其他人如何解决这个问题?通常情况下我会使用CSS和PNG的混合来实现效果(特别是需要动态更改的效果(大小/色调/阴影...),因此使用sRGB导出图像并使用CSS渐变/阴影覆盖图像会结束是sRGB/Monitor RBG的混合物,因此与comp略有不同.

答案格式

希望我已经正确地提出了这个问题 - 合适的答案只是给出了如何处理问题的观点 - 或者(更好)如果有SCSS sRGB()函数或其他算法将RGB/HEX颜色转换为sRGB然后我会把它扔进SASS mixin.

css rgb srgb

5
推荐指数
1
解决办法
1610
查看次数

如何在将对象的构造函数更改为实例函数时保留Javascript对象的属性

我在javascript中有一个实例函数,对于命名约定,我将其他实例函数添加为第一个实例函数对象的属性.在以下工作JavaScript中更好地说明了这一点.

var MyModule = (function() { // instance function 
    return function() {
      console.log("ran MyModule");
    }
}());

MyModule.RelatedModule = (function() { //second instance function is a property of first instance function object
    return function() {
        console.log("ran RelatedModule");
    }
}())

var inst1 = new MyModule(), // logs "ran MyModule"
    inst2 = new MyModule.RelatedModule(); // logs "ran RelatedModule"
Run Code Online (Sandbox Code Playgroud)

这按预期工作,没有错误.我想做的是在创建对象MyModule之后创建函数定义MyModule,任何人都可以帮我实现这个目标吗?我在下面说明了我的尝试.

var MyModule = {}; // create object first, try to set a constructor on it later

MyModule.RelatedModule = (function() { …
Run Code Online (Sandbox Code Playgroud)

javascript

1
推荐指数
1
解决办法
243
查看次数

标签 统计

javascript ×2

css ×1

flash ×1

google-chrome ×1

rgb ×1

srgb ×1