您如何检测到Flash插件已被暂时禁用,或者相反,如果检测到Chrome已启用,则会因Chrome的"点击播放"功能而启用?
Chrome的新"点击播放"功能会检测不明显的插件,并暂停它们.Chrome在插件上显示"播放"按钮,用户可以点击"播放"按钮激活插件.(参考:https://productforums.google.com/forum/#!topic /rome/xPcpRBzyPcc)
您可以在此屏幕截图中看到它已暂停视频播放器(右栏).该视频播放器具有基于HTML5的控件,覆盖基于Flash的视频播放器.因此,用户无法单击播放按钮,因为基于HTML5的播放/暂停控件有目的地涵盖整个SWF.
我需要的是检测SWF何时被"点击播放"功能暂停,这样我就可以禁用控件并使SWF交互.
ExternalInterface虽然SWF暂停,但仍然可以使用所有暴露在外的方法.它实际上响应它正在播放并且不会返回错误.<object>为> 700x400px."点击播放"不会暂停此大小的SWF.因此,我尝试-webkit-transfor: scale(0.5)使用CSS将其缩放回所需的大小.Chrome计算最终渲染大小并暂停SWF.stage.frameRate返回正确的值(例如,它未设置为0以暂停SWF)在写这个问题时,我找到了答案,决定在这里发帖,以防其他人需要帮助解决这个问题.
概观
我正在寻找关于在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.
我在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)