如何检查 Flash 插件在 Chrome 中是不是被阻止

     2023-02-16     161

关键词:

【中文标题】如何检查 Flash 插件在 Chrome 中是不是被阻止【英文标题】:how to check flash plugin is blocked in Chrome如何检查 Flash 插件在 Chrome 中是否被阻止 【发布时间】:2013-07-17 15:46:54 【问题描述】:

如何使用 jquery 或 javascript 检查 flash 插件是否在 chrome 中被阻止?

我们可以使用以下方法检查禁用的 Flash 插件

((typeof navigator.plugins != "undefined" && typeof navigator.plugins["Shockwave Flash"] == "object") || (window.ActiveXObject && (new ActiveXObject("ShockwaveFlash.ShockwaveFlash")) != false));

在 Chrome 中,您可以通过单击禁用单个插件来单独禁用插件。然后,如果我们单独禁用插件,上述查询将起作用并返回 false。但是如果我们阻止所有插件,它只会返回true。因此我关心的是如何检测插件是否被阻止。

【问题讨论】:

你的东西有问题吗?这是一个问题,还是您试图回答自己? 检测 Flash 插件是否被禁用或阻止有什么区别?我猜你最终会得到相同的结果 - 没有 flash 插件。 在 Chrome 中,您可以通过单击禁用单个插件来单独禁用插件。然后,如果我们单独禁用插件,上述查询将起作用并返回 false。但是如果我们阻止所有插件,它只会返回true。因此我关心的是如何检测插件已被阻止。 这个问题有什么可能的解决方案吗? 这里有一些提示:developer.mozilla.org/en-US/Add-ons/Plugins/… 【参考方案1】:

您可以使用swfobject 之类的东西来处理闪光检测,但是这样的东西也应该可以工作;

var flashAvailable = false;
try 
  var flash = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
  if(flash) 
    flashAvailable = true;
  

catch(e) 
  if(navigator.mimeTypes ["application/x-shockwave-flash"] != undefined) 
    flashAvailable = true;
  

【讨论】:

在 Chrome 中,您可以通过单击禁用单个插件来单独禁用插件。然后,如果我们单独禁用插件,上述查询将起作用并返回 false。但是如果我们阻止所有插件,它只会返回true。因此我关心的是如何检测插件已被阻止。因此上述不是预期的答案。【参考方案2】:

我发现唯一可靠的方法是让单个 Flash 元素提醒浏览器它已启用,即。它没有被阻止。

我在 Flash 文件的开头使用以下代码:

import flash.external.ExternalInterface;
ExternalInterface.call('flashHasLoaded','my-identifier');

这会在浏览器中触发一个 JavaScript 函数:

<script type="text/javascript">
    function flashHasLoaded( optionalIdentifier )
        alert("A flash file has started running");
        if(optionalIdentifier == "specific-thing") alert("Specific thing loaded - do something");
    
</script>

请记住,这不会立即触发,只有在 Flash 加载并开始运行后才会触发。

【讨论】:

【参考方案3】:

我能想到的检查浏览器是否阻止插件的唯一方法是调用插件并查看它是否返回。在你的情况下,这些步骤:

    检查 flash 插件是否安装。 照常初始化您的 Flash swf。 通过 Flash 外部接口调用一个函数,该接口旨在告诉您插件是否响应。 如果有响应,则照常进行。 如果它没有响应,最好退回到 javascript 解决方案。

因为这是一个浏览器安全问题,您无法直接访问可以告诉您所需插件是否被阻止的 api。我认为这可能是目前唯一可用的解决方案。另请注意,最新版本的 chrome(现在为 54.0.2840.59)如果在 iframe 中运行,则 chrome 会阻止所有闪存。

【讨论】:

检查是不是在 Firefox 版本 59 中启用了 flash

...启用了flash【发布时间】:2018-09-2811:47:02【问题描述】:如何检查Firefox浏览器是否启用了Flash?这是我正在使用的代码tryhasFlash=Boolean(newActiveXObject(\'ShockwaveFlash.Sho 查看详情

Actionscript - 如何检查动态文本框的文本是不是太长?

】Actionscript-如何检查动态文本框的文本是不是太长?【英文标题】:Actionscript-howtocheckiftextistoolongfordynamictextbox?Actionscript-如何检查动态文本框的文本是否太长?【发布时间】:2014-07-2709:10:58【问题描述】:我有一个简单的动态... 查看详情

如何检查 Chrome 窗口是不是聚焦?

】如何检查Chrome窗口是不是聚焦?【英文标题】:HowtocheckifChromewindowisfocused?如何检查Chrome窗口是否聚焦?【发布时间】:2020-02-0518:11:49【问题描述】:我正在使用带有服务工作人员的PushAPI开发通知。我目前正在做这样的事情,... 查看详情

如何检查文件是不是存储在 Azure Blob 中

】如何检查文件是不是存储在AzureBlob中【英文标题】:HowcanyoucheckifafileisstoredinAzureBlob如何检查文件是否存储在AzureBlob中【发布时间】:2011-10-1413:07:44【问题描述】:我们的网站(即Azure网站)上运行了一个Flash应用程序。它需要... 查看详情

如何检查用户设备上是不是未启用 chrome

】如何检查用户设备上是不是未启用chrome【英文标题】:Howtocheckifchromeisnotenabledonuser\'sdevice如何检查用户设备上是否未启用chrome【发布时间】:2019-02-2118:47:53【问题描述】:我正在使用CustomTabs启动webview。问题是,如果我禁用chro... 查看详情

如何检查 Android 上是不是安装了 Flash 播放器

】如何检查Android上是不是安装了Flash播放器【英文标题】:HowtocheckiftheFlashplayersisinstalledonAndroid如何检查Android上是否安装了Flash播放器【发布时间】:2011-06-2207:53:09【问题描述】:如果从AndroidMarket下载并安装了Adob​​eFlashPlayer10... 查看详情

如何检查(在模板中)用户是不是属于某个组

】如何检查(在模板中)用户是不是属于某个组【英文标题】:Howtocheck(intemplate)ifuserbelongstoagroup如何检查(在模板中)用户是否属于某个组【发布时间】:2016-04-0622:16:36【问题描述】:如何在模板中检查用户是否属于某个组?... 查看详情

如何修改谷歌chrome应用商店的插件,绕过chrome检查

参考技术A打包crx文件,安装在本地,或者用开发者模式,加载本地插件文件夹即可 查看详情

网页如何检查浏览器是否安装flash插件

如果页面需要加载flash插件并且需要提示用户flash下载,这里有个官方很好的js文件只要引用就可以实现//v1.7//FlashPlayerVersionDetection//DetectClientBrowsertype//Copyright2005-2007AdobeSystemsIncorporated.Allrightsreserved.varisIE=(navigator.appVe 查看详情

如何检查当前页面是不是是wordpress中的插件管理面板

】如何检查当前页面是不是是wordpress中的插件管理面板【英文标题】:Howtocheckifthecurrentpageisapluginadminpanelinwordpress如何检查当前页面是否是wordpress中的插件管理面板【发布时间】:2013-12-0808:51:54【问题描述】:我想知道如何检查... 查看详情

如何检查 Chrome 扩展程序是不是已完全安装

】如何检查Chrome扩展程序是不是已完全安装【英文标题】:HowtocheckifChromeextensionhasfullyinstalled如何检查Chrome扩展程序是否已完全安装【发布时间】:2012-08-2108:55:44【问题描述】:使用ChromeWebStore内联安装(https://developers.google.com/chro... 查看详情

如何检查 Angular 模块延迟加载是不是适用于 Chrome?

】如何检查Angular模块延迟加载是不是适用于Chrome?【英文标题】:HowtocheckifAngularModuleLazyLoadingworksonChrome?如何检查Angular模块延迟加载是否适用于Chrome?【发布时间】:2019-06-2722:16:48【问题描述】:如何检查使用Chrome开发工具打... 查看详情

如何检查对象是不是具有存储属性?

】如何检查对象是不是具有存储属性?【英文标题】:Howtocheckifanobjecthasastoredproperty?如何检查对象是否具有存储属性?【发布时间】:2016-02-1422:42:44【问题描述】:我需要检查一个对象的类是否有一个可用于赋值的成员。假设有... 查看详情

如何检查网站是不是在颤振上开发?

【中文标题】如何检查网站是不是在颤振上开发?【英文标题】:Howtocheckwasasitedevelopedonflutter?如何检查网站是否在颤振上开发?【发布时间】:2021-12-2710:25:24【问题描述】:根据什么迹象可以判断网站是否是基于Flutter开发的【... 查看详情

有没有一种简单的方法来检查一个对象是不是在 python 中是 JSON 可序列化的?

】有没有一种简单的方法来检查一个对象是不是在python中是JSON可序列化的?【英文标题】:IsthereaneasywaytocheckifanobjectisJSONserializableinpython?有没有一种简单的方法来检查一个对象是否在python中是JSON可序列化的?【发布时间】:2017... 查看详情

如何检查元素是不是在屏幕上完全可见?

】如何检查元素是不是在屏幕上完全可见?【英文标题】:HowcanIcheckifanelementiscompletelyvisibleonthescreen?如何检查元素是否在屏幕上完全可见?【发布时间】:2016-04-1816:29:47【问题描述】:我在OSX上使用SeleniumWebDriver和Chrome驱动程序... 查看详情

如何通过 javascript 检查 chrome:// 文件是不是存在,而不实际加载文件?

】如何通过javascript检查chrome://文件是不是存在,而不实际加载文件?【英文标题】:Howtocheckifachrome://fileexistsviajavascript,withoutactuallyloadingthefile?如何通过javascript检查chrome://文件是否存在,而不实际加载文件?【发布时间】:2011-0... 查看详情

检查用户是不是安装了 Chrome 扩展程序

】检查用户是不是安装了Chrome扩展程序【英文标题】:CheckwhetheruserhasaChromeextensioninstalled检查用户是否安装了Chrome扩展程序【发布时间】:2011-09-1117:14:08【问题描述】:我正在构建一个Chrome扩展程序,为了让整个事情按我希望的... 查看详情