首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

通过javascript检测是否安装了Silverlight

通过 JavaScript 可以检测浏览器是否安装了 Silverlight。Silverlight 是一个 Microsoft 开发的网络应用程序框架,可用于构建和部署功能丰富的多媒体和富 Internet 应用程序。若要检测是否安装了 Silverlight,您可以使用以下方法之一:

1. 通过特性检测

  • 您可以使用 navigator.system.silverlight() 特性检测来检测浏览器是否安装了 Silverlight。如果特性检测返回 true,则表明浏览器已安装 Silverlight。
代码语言:javascript
复制
function isSilverlightInstalled() {
    try {
        navigator.system.silverlight();
    } catch (e) {
        return false;
    }
    return true;
}

if (isSilverlightInstalled()) {
    // Silverlight 已安装
} else {
    // Silverlight 未安装
}

2. 通过插件检测

  • 若要检测 Silverlight 是否已安装,您可以尝试从 Silverlight 插件的 ID 中检测。您无法直接访问每个浏览器插件 ID,但是通常您可以在浏览器的 Developer Tools 中找到它们。
代码语言:javascript
复制
function getInstalledPlugin(browser) {
    const pluginFinder = browser.runtime.getManifest();
    if (pluginFinder && pluginFinder.content.plugins) {
        pluginFinder.content.plugins.forEach(plugin => {
            if (plugin.name.toLowerCase() === "silverlight") {
                return plugin;
            }
        });
    }
    return null;
}

function isSilverlightInstalled() {
    const silverlightPlugin = getInstalledPlugin(browser);
    return silverlightPlugin !== null;
}

// 在浏览器开发者工具控制台中运行此代码,并访问 browser 对象,其中包含插件的信息
const browser = chrome && chrome.runtime;
if (isSilverlightInstalled()) {
    // Silverlight 已安装
} else {
    // Silverlight 未安装
}

需要注意的是这些方法仅提供了一种检测机制,并且无法确保 100% 的准确度。因此,建议您尽量使用 navigator.system.silverlight() 方法来检测 Silverlight 是否存在,并在不使用时建议用户升级您的浏览器或操作系统。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 如何用原生JavaScript检测DOM是否已加载完成?

    对于初学者来说,这可能听起来有些复杂,但其实我们可以通过简单的JavaScript代码来实现这一目标,而不需要依赖任何框架或库。本文将带你一步步了解如何实现这一点。 什么是DOM?...浏览器会解析HTML并生成DOM树,我们可以使用JavaScript对这个DOM树进行操作,从而改变网页的内容和样式。...检查DOM是否准备好的方法 要检查DOM是否准备好,我们主要使用两个事件:DOMContentLoaded和load。...通过监听这些事件,你可以确保在合适的时机执行相应的代码,提高代码的稳定性和性能。...结束 在不使用任何JavaScript框架或库的情况下,我们可以通过监听DOMContentLoaded和load事件,以及检查document.readyState属性的值,来确定DOM是否已准备好。

    31810

    如何使用 JavaScript 检测用户是否启用三方 Cookie ?

    那么问题来了,并不是所有用户都命中了这个策略,当前只有 1% ,我们可能给所有的用户都添加这个提示,所以我们如何在运行时检测用户是否命中了三方 Cookie 的灰度策略呢?...我能想到的并且一直有效的方法就是添加一个外部(三方)的 iFrame,让它来检测 iFrame 内部是否可以访问到 Cookie,并且会将 Cookie 的可用状态通知给父应用。...虽然这听起来挺奇怪的,我们好像无法直接通过 iFrame 调用父页面的功能。...然后,我们通过 parent.postMessage() 方法向父应用发送一条消息;在 iFrame 中,parent 是一个隐含的对象。 <!...现在,我们可以成功地在运行时检测到用户的第三方 Cookie 是否已启用了! 最后 抖音前端架构团队目前放出不少新的 HC ,又看起会的小伙伴可以看看这篇文章:抖音前端架构团队正在寻找人才!

    37810

    EXT.NET高效开发(四)——实用技巧

    (Ext.isGecko3) { Ext.Msg.alert("浏览器检测", "你使用的是火狐"); } ); 2) 检测是否装了Silverlight4.0...比如上传,施工计划系列(Silverlight——施工计划日报表(四)——自适应浏览器窗口、Silverlight——施工计划日报表(三)、Silverlight——施工计划日报表(二)、Silverlight...所以检测客户端是否装了Silverlight也是不可避免的了。这点虽然与Extjs不能挂钩,但是也许大家也有用得着的地方。接下来的随笔还会介绍EXT.NET如何与Silverlight结合布局。...其实想想就明白了,EXT.NET在后台对前台进行操作,依赖的是Extjs,也就是它会向前台输送Javascript,干的好好的,你突然向人家输送一个文件流,那么人家就不认了。那么怎么实现下载呢?...5)页面提示跳转 既然人家封装了,既然用的是EXT.NET,改用的还是要用的。

    1.2K10

    MIT黑科技:通过手机记录的咳嗽数据检测是否感染新冠病毒

    而防止病毒大规模传播的最核心措施就是对无症状感染者的检测,对这类人群做好适当的隔离观察,是避免再次出现大规模感染的有效方法。...目前为止,核酸检测是被广泛应用的发现措施,除此之外还没有特别好的低成本且快速的检测方式。...但是,近日麻省理工学院新闻办公室发布了一种全新的检测方法,该方法只需要患者使用手机采集咳嗽声音,然后利用人工智能模型来判断患者是否患有新冠状病毒。...该模型通过患者利用浏览器、手机、电脑等设备提交咳嗽录音,将无症状人群与健康人群区分开来。研究人员利用神经网络模型,对数以万计的咳嗽样本以及口头语言进行了训练。...用户可以每天登录,对着手机咳嗽,然后立即得到他们是否可能被感染的信息。

    38320

    手把手教大家如何通过手机号批量检测是否已绑定微信

    一、手机号码检测开通微信的方法 在微信好友查找框输入手机号码查找没有开通微信的手机号码基本上是找 不到的除非号码设置不能够被搜索到。但是一般不会进行这样的操作。...二、目前可用的检测开通微信的平台 1、打码换IP检测 能够查询手机号码是否开通微信需要对接打码平台因为在检测的时候会被微信限制需要进行验证码输入所以操作过程中可以对接打码平台进行自动输入也可以自己进行人工验证码的输入...2、智能自动化检测 只需要登录上传文件即可进行全自动的检测不需要人工干预能够快速高效的进行号码的检测还自带号码生成的功能。...提供号码进行检测不仅仅是进行手机号码的检测只要是能够进行微信账号注册的都能够批量检测。而且智能检测可以支持多类账号混合检测。...(急速微信开通检测 三、智能检测的具体操作步骤 1、平台登录www.konghaojiance.org 2、下载安装 3、上传文件 4、等待检测 5、下载结果。

    3.6K20

    silverlight4:摄像头占用状态检测以及二种截屏方法

    状态检测主要包括二个方面:是否装了摄像头,摄像头是否被其它程序占用 视频截图有二种方法:一是直接利用CaptureSource类的CaptureImageAsync异步截屏,另一种是直接利用WriteableBitmap...当然也可以右击,在silverlight选项里去掉这种错误的记忆(如下图) ?...但问题是:用户很有可能不知道从哪里进入这个界面,所以我个人觉得如果当silverlight了自动记住了"禁止使用摄像头"时,是否能给个提示?...这样会显得更友好一些 最后,从技术上讲silverlight 4的摄像头还有一个功能不如flash做得贴心,flash中摄像头有activity事件可以用来监听摄像头是否有活动,而silverlight...(当然sl中变相的办法可以通过不断截屏然后比较二张图的差异,但这毕竟太麻烦了,不知道正式版中是不是会有所改进)

    82690

    Knockout.Js官网学习(简介)

    MVP 里的M 其实和MVC里的M是一个,都是封装了核心数据、逻辑和功能的计算关系的模型,而V是视图(窗体),P就是封装了窗体中的所有操作、响应用户的输入输出、事件等,与MVC里的C差不多,区别是MVC...MVVM的优点 MVVM已在微软WPF/Silverlight/WP7中广泛应用,和MVC模式一样,主要目的是分离视图(View)和模型(Model),有几大优点 1. 低耦合。...而不管是Silverlight/WPF或JavaScript,MVVM程式库的目标即在节省前述自行开发的工夫,只需在显示/输入元素上注明其对应的ViewModel属性,之后全部交给knockout.js...5.免费,开源纯JavaScript的 - 可跟jQuery的或其他JavaScript框架兼容,缩小的版本只有40KB,HTTP压缩后只有14KB跨浏览器!...试着改变的值,可发现会马上反应修改后的结果,可以看出已经自动的检测了onchange时间了,果然很强悍!

    2.3K20

    silverlight.js详解.

    ,就像Adobe公司的Flash一样.在Silverlight SDK中提供了一个帮助创建Silverlight对象的Silverlight.js文件.在你调用javascript文件是你可能会发现在客户端已经安装...调用Silverlight.isInstalled(version)方法来判断silverlight的版本是否已经被安装.版本的名称就是j这个参数. 加载Silverlight....这个初始化参数是可以选择的,你可以添加自己定义的参数.刚开始看上去感觉是有点怪异的,但是这个javascript代码是用来生成html的.这个特性是非常有用的....剩下的参数j是一个数组.可以对很多的属性进行设置. background=背景颜色,默认为白色 isWindowless=布尔值.是否透明 width=宽度 height=高度 ignoreBrowserVer...=忽略silverlight插件是否已经在当前的浏览器中安装.默认为false maxFramerate=最大的帧数,默认为24帧每秒. version=silverlight插件版本.

    73760

    手机如何安装GreasyFork油猴js脚本?

    文章目录 前言 一、Iceraven浏览器(火狐)(卓) 二、Via浏览器(卓) 三、alook浏览器(苹果)(卓) 四、kiwi浏览器(卓) ---- 前言 Icaraven浏览器与kiwi浏览器的界面和功能基本相同...Tampermonkey支持检测内部iframe的链接并执行脚本,因此它可以使用window.postMessage解决跨域问题。...) Via浏览器是是一个 内嵌脚本 浏览器 点击下载Via浏览器 安装JavaScript脚本: 打开GreasyFork官网脚本链接,点击 安装此脚本 选择(我已经安装了用户脚本,让我安装!)...复制 1.4 浏览器主页 => 右下角三个横线 => 设置 => 脚本 1.5 找到并点击 刚才安装的脚本 1.7 把代码部分 长按 => 全选 => 粘贴 1.8 最后点击 保存 即可 不支持检测...,操作人性化设计 点击下载alook浏览器 安装JavaScript脚本: 打开GreasyFork官网脚本链接,点击 安装此脚本 选择(我已经安装了用户脚本,让我安装!)

    5.7K20

    Silverlight与数据库的三种互操作

    Silverlight与数据库的三种互操作 简介 本章节提供Silverlight与后台数据库的三种技术实现基本的互操作(Silverlinght Interoperability),构建一个Silverlight...添加新页,而不是User Control,安装了RIA Service后会新增许多Silverlight项目模板,在你做应用开发的时候会提供非常方便的使用 创建一个普通的WCF服务提供Silverlight...新增,删除,编辑,查询功能通过调用WCF提供的2个接口实现。 ? ? 注意:Silverlight Datagrid控件无法绑定匿名对象。...Silverlight调用Ado.Net data service ? 新增,删除,编辑,查询功能通过调用Ado.net data service提供的接口实现 ?...Silverlight调用RIA-LINK实现互操作 ? 新增,删除,编辑,查询功能通过调用RIA-LINK提供的接口实现 ?

    1.4K70

    基于HTML5的电信网管3D机房监控应用

    机房有Hightopo可选择,搞移动应用有JQuery Mobile可选择,每周末到徐家汇公园那个照的到太阳看得见湖色几乎成为我私人定制的木凳,打开平板好好通读这一周Web前端发送的一切新鲜事,是的我有JavaScript...Weekly、HTML5 Weekly和Modern Web Observer可选择,我很庆幸自己活在这个HTML5时代,可以用一门javascript语言技术玩通用组件,玩Chart,玩拓扑,完3D...兼容性问题,这些问题就交给各种框架来解决,HTML5的3D引擎非常多threejs是知名度较高的,但较臃肿大好几百k的包,什么功能都触及但都做不深入,动画引擎像玩具,做游戏引擎又缺碰撞检测,这点上不及后起之秀...见此视频 使用Hightopo还有很重要的一点就是HT提供了基于HTML5的可视化设计器,无需借助3ds max和maya这样的专业3D设计工具,直接HT 3D Designer通过页面就能进行3D建模...,而动态的数据部分通过API的方式驱动生成模型和实时更新即可,最近的这些项目我们团队不需要美工都能完全由我们程序员自己搞定,当然要做漂亮贴图部分还是需要美工ps的帮助。

    1.4K70

    基于HTML5的WebGL电信网管3D机房监控应用

    机房有Hightopo可选择,搞移动应用有JQuery Mobile可选择,每周末到徐家汇公园那个照的到太阳看得见湖色几乎成为我私人定制的木凳,打开平板好好通读这一周Web前端发送的一切新鲜事,是的我有JavaScript...Weekly、HTML5 Weekly和Modern Web Observer可选择,我很庆幸自己活在这个HTML5时代,可以用一门javascript语言技术玩通用组件,玩Chart,玩拓扑,完3D...兼容性问题,这些问题就交给各种框架来解决,HTML5的3D引擎非常多threejs是知名度较高的,但较臃肿大好几百k的包,什么功能都触及但都做不深入,动画引擎像玩具,做游戏引擎又缺碰撞检测,这点上不及后起之秀...见此视频 使用Hightopo还有很重要的一点就是HT提供了基于HTML5的可视化设计器,无需借助3ds max和maya这样的专业3D设计工具,直接HT 3D Designer通过页面就能进行3D建模...,而动态的数据部分通过API的方式驱动生成模型和实时更新即可,最近的这些项目我们团队不需要美工都能完全由我们程序员自己搞定,当然要做漂亮贴图部分还是需要美工ps的帮助。

    1K100
    领券