是否可以通过JavaScript检测插件是否激活?

2023-12-13

这样我通常会检测插件,例如Flash播放器:

for (var el in navigator.plugins) {
    if (navigator.plugins[el].name &&
        navigator.plugins[el].name.toLowerCase().indexOf('shockwave') !== -1) {
        console.log(navigator.plugins[el]);
    }
}

我不是在寻找跨浏览器解决方案,也不是想测试它是否正确。如何测试这个插件是否活跃?


其他两种解决方案都可以查明插件是否已安装并已启用。

目前无法确定该插件是否已安装但已被禁用。Navigator.plugins不包含仍然安装的禁用插件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以通过JavaScript检测插件是否激活? 的相关文章

随机推荐

  • GORM:不可知地映射大文本字段数据库

    我有一个 Grails 应用程序 它将针对 SQL Server 或 Oracle 后端运行 我使用 GORM 作为 ORM 我想以支持两种数据库类型的方式映射大型文本字段 在我的 Grails 域类中 我有类似的内容 class Note
  • 如何将 python 模块从源安装到虚拟环境中

    据我了解 您可以使用 pip install e my module 从源安装模块 当我执行此操作时 pip show f my module grep 位置 给出 my module 作为位置 而不是我的虚拟环境的站点包 安装模块时我激活
  • Opencv检测不同时间拍摄的两张照片之间的变化

    我们有该商品的一张原始图片 照片 即雕塑 我们不时地为该物品拍摄新照片 照片始终与物品成 90 度相同角度拍摄 但 会有一些轻微的上下 左右移动 同一物体的不同长度 我们用线取 相机和在其前面移动的物体因此不时的速度 对象发生变化 因此最终
  • 从远程服务器拉取某个分支

    假设有人创建了一个分支xyz 如何拉动分支xyz从远程服务器 例如GitHub 并将其合并到现有分支中xyz在我的本地仓库中 答案是将分支推送到 Git给我错误 拒绝 并提到 非快进 但我收到错误 拒绝 以及有关 非快进 的信息 这是因为
  • 如何使用 Google Apps 脚本通过 for 循环将值添加到二维数组

    有人可以向我展示一些简单的示例 以使用 for 循环将值添加到二维数组吗 我完全错误的测试脚本如下 预期行为 整体值 0 0 0 整体值 0 1 1 整体值 0 2 2 整体值 1 0 0 整体值 1 1 1 整体值 1 2 2 funct
  • 使用 C#:如何使用 Newtonsoft.JSON 迭代嵌套 JSON?

    我正在提取大量项目的 JSON 数据 每个项目都有一组我想要抓取并放置在列表中的特定数据 以下是 JSON 数据中包含的 700 多个项目中的两个示例 我需要能够使用 Newtonsoft JSON 迭代 JSON 数据 并在 fieldN
  • 尝试将大 Excel 文件读入 DataTable 时出现 OutOfMemoryException

    我正在使用 SSIS 包清理 Xlsx 文件中的数据并将其加载到 SQL Server 表中 我还必须突出显示 Xlsx 文件中包含错误数据的单元格 为此我必须根据列名称和行 ID 我在数据电子表格中拥有 获取列和行索引 为此 我比较第一个
  • 数据库细化 - F 的最小覆盖(无关属性)

    模式 R A B C D E F FD F ABC gt D CD gt B BCF gt D CDF gt BE BCDF gt E 找到 Fc F 的最小覆盖 又名规范覆盖 这是我书中使用的方法 示例 abc gt xyz a 是冗余的
  • 无法在 Mac 上创建开发者证书

    这件事发生在一夜之间 昨天我能够处理我的 NET Core 应用程序 现在每次我尝试做一个dotnet run我在 cmd 行中收到以下错误 如您所见 我尝试运行建议的命令来创建开发人员证书 其中dotnet dev certs https
  • 如何在 Visual Basic 中使用 while 循环从 StreamReader 中读取数据?

    考虑 Dim line As String Using readFile As New StreamReader SalesUpdateFile While line readFile ReadLine IsNot Nothing 我是 V
  • 没有可行的从 std::function 到 bool 的转换

    C 11std function应该执行operator bool const 那么为什么 clang 告诉我没有可行的转换呢 include
  • R-向 PDF 添加页码

    我在向 PDF 添加页码时遇到问题 这是我插入页面 绘图的方法 pdf file pdfFilePath width 11 height 8 5 for grid newpage pushViewport viewport layout g
  • 从 Google 表格调用时 getOAuthToken 返回 null

    我正在研究一种方法 通过 oAuth 规范和 AWS API 网关调用来限制特定用户的某些 Google 表格 但我遇到了一个问题ScriptApp getOAuthToken 功能 当我使用 Google Apps 脚本调试器运行代码时
  • 动态背景(在 LinearLayout 上)-我的错误是什么?

    我有一个问题 我试图让我的应用程序背景根据计时器每十秒改变一次 我已经做了我能做的 但无法解决它 因为我是 java 和编程的初学者 我如果有人可以纠正我的代码 我会很高兴 我可以将它打包到手机等中 Eclipse不会显示错误 但当计时器开
  • 为什么Unity3D中相机绕z轴旋转?

    我有一个主摄像头在 Unity3D 中 我想根据鼠标输入进行旋转 因此它可以作为第一人称视频游戏 您可以根据要查看的位置移动鼠标 相机的起始值 Unity 中 检查器 选项卡中的 变换 选项卡 为 Position X 1 Y 1 Z 11
  • 将“facet_grid”从多面画布上拉开?

    考虑以下示例 ggplot2 facet grid p lt ggplot mpg aes displ cty geom point p facet grid vars drv vars cyl Which results in the f
  • Safari 应用扩展未安装

    仅供参考 我对 XCode 开发完全陌生 我有一个 Safari 应用程序扩展项目 如果我从 XCode 中运行它 它会将我的扩展添加到 Safari 中 如果我创建存档 导出并选择 导出开发签名应用程序 我可以获取生成的文件 将其安装在另
  • 使用 FileMapping 传递 _EXCEPTION_POINTERS * 时遇到问题

    我想做一个进程外异常处理程序 并且创建了一个看门狗进程 当子进程引发异常时 它会进行专门的异常处理 我已经通过事件成功调用了看门狗进程 我面临的问题是在尝试将异常信息指针传递给其他进程时 我降落在这里将指针传递给由 exec 生成的进程并了
  • 在 Objective-C 中转发声明协议

    我的类 h 看起来像 protocol AppInfoDelegate class InfoTextView interface AppInfoViewController UIViewController
  • 是否可以通过JavaScript检测插件是否激活?

    这样我通常会检测插件 例如Flash播放器 for var el in navigator plugins if navigator plugins el name navigator plugins el name toLowerCase