前端如何实现一个网站的桌面快捷方式

news2024/11/19 17:42:54

题记:我们工作中常常需要在我们的网站首页实现一个桌面快捷方式,那么我们怎么做呢?

图片展示:

 代码实现:

        第一步:获取路径与标题名;

        

sName: document.title,
sUrl: window.location.href

        第二步:判断是否为IE浏览器;

    isIE() {
      if (!!window.ActiveXObject || "ActiveXObject" in window) {
        // this.$message({
        //     message: '是IE浏览器',
        //     type: 'warning'
        //   })
        return true;
      } else {
        // alert("不是IE浏览器");
        this.$message({
            message: '如需生成桌面快捷方式,请在IE浏览器中打开!',
            type: 'warning'
          })
        return false;
      }
    },

注释:使用ActivexObject 区分IE浏览器与非IE浏览器

           IE支持ActiveObject控件,而chrome系列不支持

第三步:调接口

toDesktop() {
      var result = this.isIE();
      if (!result) {
        //不是IE浏览器
        //获得按钮元素
        var toDesktopButtonNode = document.getElementById("toDesktopButton");
        //隐藏按钮
        // toDesktopButtonNode.style.display = "none";
        return false
      }
      let sUrl = this.sUrl
      let sName = this.sName
      console.log('result', sUrl, sName)
        try {
          var WshShell = new ActiveXObject("WScript.Shell");
          // CreateShortcut 方法创建 WshShortcut 对象并将其返回。如果快捷方式标题以 .url 结尾,就会创建 WshURLShortcut 对象。
          // SpecialFolders 使用 WshSpecialFolders 对象提供对 Windows shell 文件夹的访问,如桌面文件夹,开始菜单文件夹和个人文档文件夹。
          // 返回完整的Windows桌面文件夹路径,
          var oUrlLink = WshShell.CreateShortcut(WshShell
              .SpecialFolders("Desktop")
              + "\\" + sName + ".url");
          oUrlLink.TargetPath = sUrl;
          oUrlLink.Save();//保存一个快捷方式,该快捷方式指向 FullName 属性指定的位置。
          this.$notify({
            type: 'success',
            message: '成功创建桌面快捷方式!'
          })
        } catch (e) {
          this.$message({
              message: '当前IE安全级别不允许操作或您的浏览器不支持此功能!',
              type: 'warning'
            })
        }
    },

备注:借助于createShortcut()方法是一个关键。

喜欢就点个赞吧!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/830470.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java版知识付费平台免费搭建 Spring Cloud+Spring Boot+Mybatis+uniapp+前后端分离实现知识付费平台qt

Java版知识付费源码 Spring CloudSpring BootMybatisuniapp前后端分离实现知识付费平台 提供职业教育、企业培训、知识付费系统搭建服务。系统功能包含:录播课、直播课、题库、营销、公司组织架构、员工入职培训等。 提供私有化部署,免费售…

c++11 标准模板(STL)(std::basic_ofstream)(一)

定义于头文件 <fstream> template< class CharT, class Traits std::char_traits<CharT> > class basic_ifstream : public std::basic_istream<CharT, Traits> 类模板 basic_ifstream 实现文件流上的高层输入操作。它将 std::basic_istrea…

【Selenimu+AutoIT】非input标签上传文件(带参数)

工具下载 非input标签上传文件&#xff0c;就需要借助第三方工具&#xff0c;如AutoIT。 AutoIT下载 安装步骤略 使用 1.打开Auto Window Info 找到这个打开 拖住红框里面的标到需要定位的地方记录下来 2.打开SciTE Script Editor 打开后&#xff0c;修改为UTF-8&am…

程序员有必要参加软考吗?

作为程序员&#xff0c;如果一直从事着前线的编程工作&#xff0c;是否会对身体造成负担&#xff0c;难以持续到35岁呢&#xff1f;毕竟在项目赶期时&#xff0c;工作强度很高&#xff0c;而技术也在不断变化&#xff0c;因此很多程序员在30岁前就开始转型。我曾见过很多焦虑自…

观察者模式——对象间的联动

1、简介 1.1、概述 在软件系统中&#xff0c;有些对象之间也存在类似交通信号灯和汽车之间的关系。一个对象的状态或行为的变化将导致其他对象的状态或行为也发生改变&#xff0c;它们之间将产生联动&#xff0c;正所谓“触一而牵百发”。为了更好地描述对象之间存在的这种一…

【C++】初阶 --- 引用(超级详细版!!!)

文章目录 &#x1f36a;一、引用的概念&#x1f36a;二、引用的特性&#x1f37f;1、引用在定义时必须初始化&#x1f37f;2、一个变量可以有多个引用&#x1f37f;3、引用一旦引用一个实体&#xff0c;再不能引用其他实体 &#x1f36a;三、常引用(被const 修饰的引用)&#x…

idea打开传统eclipse项目

打开传统web项目 1.打开后选择项目文件 2.选择项目结构 3.设置jdk版本 4.导入当前项目模块 5.选择eclipse 6. 设置保存目录 7.右键模块&#xff0c;添加spring和web文件 8. 设置web目录之类的&#xff0c;并且创建打包工具 9.如果有本地lib&#xff0c;添加为库 最后点击应用&…

【linux】Linux桌面应用程序快捷方式

在linux系统里&#xff0c;很多应用程序虽然有对应的版本&#xff0c;但是下载了之后发现打开方式并不友好&#xff0c;比如&#xff0c;今天下载了DataGrip&#xff0c;打开文件夹才发现它里面有这些&#xff1a; 红框内的脚本是其正确的打开方式。每次你都要执行&#xff1a…

一篇文了解SHA2代码签名

在当今数字时代&#xff0c;各种网络隐私安全威胁层出不穷&#xff0c;对此&#xff0c;我们也采取了很多安全措施。SHA2代码签名作为一种非常重要的安全措施&#xff0c;它有助于确保软件代码和文件的完整性和真实性。那么你知道SHA2代码签名是什么&#xff1f;它的原理是什么…

天线辐射机制

电磁场如何从源中产生并最终脱离天线辐射到自由空间中去的呢&#xff1f;让我们首先来研究一下一些基本的辐射源。 1、单线Single Wire 导线是一种电荷运动产生电流特性的材料&#xff0c;假设用qv&#xff08;库仑/m3&#xff09;表示的一个电体积电荷密度均匀分布在一个横截…

云安全攻防(五)之 容器基础设施所面临的风险

容器基础设施所面临的风险 容器基础设施面临的风险 我们从容器镜像、活动容器、容器网络、容器管理程序接口、宿主机操作和软件漏洞六个方面来分析容器基础设施可能面临的风险 容器镜像存在的风险 所有容器都来自容器镜像。与虚拟机镜像不同的是&#xff0c;容器镜像是一个不…

基于埋点日志数据的网络流量统计 - PV、UV

水善利万物而不争&#xff0c;处众人之所恶&#xff0c;故几于道&#x1f4a6; 文章目录 一、 网站总流量数统计 - PV 1. 需求分析 2. 代码实现 方式一 方式二 方式三&#xff1a;使用process算子实现 方式四&#xff1a;使用process算子实现 二、网站独立访客数统计 - UV 1. …

新闻稿代写软件有哪些?聪明灵犀工具助你撰写合格新闻稿

新闻稿代写软件有哪些&#xff1f;新闻稿是一种重要的宣传工具&#xff0c;但是撰写优秀的新闻稿需要一定的写作技巧和经验。幸运的是&#xff0c;现在有许多新闻稿代写软件可供使用&#xff0c;这些工具可以帮助你撰写出更优质的新闻稿。本文将介绍一些常用的新闻稿代写软件以…

【性能调优-实例演示】CPU爆了怎么定位问题--》调试指令性能分析工具

性能调优 定位生产性能问题 生产环境&#xff0c;CPU Memory 告警 top&#xff1a;找出占CPU比较高的进程${pid}&#xff08;内存增长&#xff0c;CPU居高不下&#xff09;top -Hp ${pid}&#xff1a;显示所有线程的CPU占比&#xff0c;观察进程中的线程&#xff0c;找出哪个…

Vol的学习

首先学习基础用法 1.查看系统基本信息 vol.py -f 路径 imageinfo 2.查看进程命令行 vol.py -f 路径 --profile系统版本 cmdline vol.py -f 路径 --profile版本 cmdscan 3.查看进程信息 vol.py -f 路径 --profile系统 pslist 通过树的方式返回 vol.py -f 路径 --profile系统…

淘宝资源采集(从零开始学习淘宝数据爬取)

1. 为什么要进行淘宝数据爬取&#xff1f; 淘宝数据爬取是指通过自动化程序从淘宝网站上获取数据的过程。这些数据可以包括商品信息、销售数据、评论等等。淘宝数据爬取可以帮助您了解市场趋势、优化您的产品选择以及提高销售额。 淘宝作为全球的电商平台&#xff0c;每天都有…

从初学者到专家:Java 数据类型和变量的完整指南

目录 一、字面常量 1.1什么常量&#xff1f; 1.2常见的六种常量类型 二、数据类型 2.1什么是数据类型&#xff1f; 2.2基本数据类型&#xff1a; 2.3引用数据类型 三、变量 3.1什么是变量&#xff1f; 3.2变量的命名规则 3.3变量的作用域 3.4变量的被final修饰 四…

C++ 外部变量和外部函数

1.外部变量 如果一个变量除了在定义它的源文件中可以使用外&#xff0c;还能被其他文件使用&#xff0c;那么就称这个变量为外部变量。命名空间作用域中定义的变量&#xff0c;默认情况下都是外部变量&#xff0c;但在其他文件中如果需要使用这一变量&#xff0c;需要用extern…

CAS - 原理简介

CAS是JDK提供的非阻塞原子操作&#xff0c;它通过硬件保证了比较-更新的原子性。它是非阻塞的且自身具有原子性&#xff0c;也就是说CAS效率高、可靠。CAS是一条CPU的原子指令(cmpxchg指令)&#xff0c;不会造成所谓的数据不一致问题&#xff0c;Unsafe类提供的CAS方法&#xf…

【内网穿透】内网穿透应用场景

伴随着科学技术的进步&#xff0c;我们身边出现了越来越多的电子设备&#xff0c;特别是移动电子设备的普及&#xff0c;给我们的生活带来极大的便利&#xff0c;而软件技术的发展&#xff0c;更为这些软件设备带来更多应用的可能。虽然移动设备覆盖了了我们生活的绝大部分场景…