图解浏览器引用本地硬盘上的JS文档

网页通过<script>标记可以引入在线的js文档,只有把网页保存在本地硬盘才能使用相对路径引入本地js文档,普通浏览器难以实现在线页面上引入本地js文档。怎么解决这个问题呢? 首先准备好需要引入的JS文档,可以是成熟的JS库,也可以是自己编写的JS代码,把这些代码保存到本地硬盘浏览器的安装目录下的js文件夹。浏览器默认安装路径为“C:\Program Files\木头软件\木头浏览器(旗舰版)\js”,浏览器将自动读取该路径下的所有JS文档。

这里提供两种网页引入本地js脚本文档的方法。 一、临时需要引入本地js文档 点击浏览器“编辑”菜单,选择“运行JS代码”,打开运行JS脚本代码的窗口。

在“运行JS代码”窗口中,有一个引入JS的下拉列表框,自动列出本文第一步指定文件夹下的所有JS文档,直接勾选需要引入的JS文档,可以同时选择引入多个文档。输入JS代码后,点击“执行JS”按钮,浏览器自动在当前网页上完成引入JS文档和执行自定义脚本代码。

二、需要长期使用引入JS代码 在浏览器的自动控制菜单中,打开项目管理器,创建一个“脚本代码”步骤。打开“引入JS文档”下拉列表框,自动列出软件目录下的js文件夹下所有JS文档,如果选择引入jquery库,然后就可以在代码中直接使用JQuery编码。最后保存这个项目文件“自动引入JQ".

关闭项目管理器,再回到浏览器的主窗口,此时书签栏显示了”自动引入JQ”项目。不管哪个网站页面,需要时只要打开页面后点击这个书签按钮就可引入JQuery库。

为了提高浏览器性能,每个页面只需引入一次同一个JS文档,如果多次执行引入相同的JS文档,则只有首次执行引入操作。如果网页刷新或跳转后,则需重新执行引入操作。

本文转载于网络 如有侵权请联系删除

相关文章

  • [译] 用 Vue.js 3 Composition API 创建 i18n 插件

    原文:https://vuedose.tips/create-a-i18n-plugin-with-composition-api-in-vuejs-3/ 在Vue.js3中用CompositionAPI编写插件的方式,和传统上通过一个install函数并被Vue.use(plugin)使用并不一样;后者通常会在Vue原型上做操作或扩展。但在CompositionAPI中的组件,操控是不可能操控的,且i18n组件要以一种inject-provide模式进行编码。举例来说,可以像这样创建一个i18n插件://i18nPlugin.js import{ref,provide,inject}from"@vue/composition-api"; constcreateI18n=config=>({ locale:ref(config.locale), messages:config.messages, $t(key){ returnthis.messages[this.locale.value][key]; } }); consti18nSymbol=Symbo

  • 深度学习之初识深度学习[下]

    注:本文内容摘自书籍<<Python深度学习>>深度学习的优势深度学习从数据中进行学习时有两个基本特征: 第一,通过渐进的、逐层的方式形成越来越复杂的表示; 第二,对中间这些渐进的表示共同进行学习,每一层的变化都需要同时考虑上下两层的需要。总之,这两个特征使得深度学习比先前的机器学习方法更加成功。梯度提升机,用于浅层学习问题;深度学习,用于感知问题。为什么是深度学习,为什么是现在深度学习用于计算机视觉的两个关键思想,即卷积神经网络和反向传播,在1989年就已经为人们所知。长短期记忆(LSTM,longshort-termmemory)算法是深度学习处理时间序列的基础,它在1997年就被开发出来了,而且此后几乎没有发生变化。那么为什么深度学习在2012年之后才开始取得成功?这二十年间发生了什么变化?总的来说,三种技术力量在推动着机器学习的进步: 1.硬件 2.数据集和基准 3.算法上的改进由于这一领域是靠实验结果而不是理论指导的,所以只有当合适的数据和硬件可用于尝试新想法时(或者将旧想法的规模扩大,事实往往也是如此),才可能出现算法上的改进。机器学习不是数学或物理

  • [C-C++]将数值变量转换为数组(int/double/float 转化为 char*)

    原创文章,欢迎转载。转载请注明:转载自祥的博客原文链接:https://blog.csdn.net/humanking7/article/details/80175934方法1:Union解析下面代码,定义了一个Union共用体,两部分组成:typedefunsignedintuint32; unionMyUnion { charbuf[4]; uint32number; };复制无疑,用MyUnion进行解析是最方便的。下面用第二种方法。方法2:指针强制类型转换#include<iostream> usingnamespacestd; typedefunsignedintuint32; unionMyUnion { charbuf[4]; uint32number; }; boolreverseBuf2Num(constchar*buf,float&number);//待实现 boolreverseBuf2Num(constchar*buf,double&number);//待实现 boolreverseBuf2Num(constchar*buf,

  • 机器学习系列25:随机梯度下降算法

    如今机器学习的数据集动则几千万或上亿,如果运用我们之前学过的Batch梯度下降算法,就会发现效率很低,因为在梯度下降时,每次循环都要对所有的数据进行求和,这会浪费大量的时间。有没有更好的方法去处理大数据呢?答案是有的。我们在处理大数据时,会选择随机梯度下降算法(Stochasticgradientdescent)。下面是随机梯度下降算法的代价函数:之后是随机梯度下降算法:首先需要随机打乱所有的数据集,然后就到了算法的核心,这个算法有两层循环,外循环通常来说有1-10次,具体次数视问题而定;内循环遍历所有的数据集一次,相比Batch梯度下降算法,它不需要每次循环都遍历一遍数据集。我们可以把Batch梯度下降算法和随机梯度下降算法运行过程画在一张图上:红色的路线为Batch梯度下降算法的收敛路线,粉色为随机梯度下降算法的收敛路线。可以看到,随机梯度下降算法不一定每次都会进行收敛,但总体会朝着收敛的方向进行,最终收敛到全局最小处。

  • 也来说说webpack

    入门webpack,官方定位是一个模块打包工具,基础命令极其简单 JavaScriptwebpack./entry.jsbundle.js1webpack./entry.jsbundle.js在CLI模式中,第一个参数是入口文件,第二个参数是输出文件,并读取当前cwd目录下面的webpack.config.js配置,根据配置生成对应的bundle.js文件。其用法与RequireJS里面的r.js命令极其相似。快速上手如果一个新业务,想做一下JS的模块化管理,那么可以立即选择webpack了。如果一个老业务,曾经用了RequireJS或者SeaJS,那么也可以选择切换webpack了。如果想做一个库\框架去为生态提供服务,也可以立即选择webpack,他能自动配置最终生成的library.js文件支持AMD\CommonJS等模块化方案。用好配置里面的resolve,改造一下原有的Grunt\Gulp流程,即可使用webpack,业务代码基本无需改造。多种模块化打包加载方案对比:http://webpack.github.io/docs/comparison.html。其实对于老业务而

  • php dirname(__FILE__) 获取当前文件的绝对路径

    比如当前文件是放在(d:\www\)下,文件名是test.php<?php echo__FILE__;//取得当前文件的绝对地址,结果:D:\www\test.php echodirname(__FILE__);//取得当前文件所在的绝对目录,结果:D:\www\ echodirname(dirname(__FILE__));//取得当前文件的上一层目录名,结果:D:\ ?>复制使用方法提示,  dirname(__FILE__)取到的是当前文件的绝对路径,也就是说,比起相对路径,查找速度是最快的。  如果重复一次可以把目录往上提升一个层次:  比如:$d=dirname(dirname(__FILE__));  其实就是把一个目录给dirname()做参数了.因为dirname()返回最后的目录不带\\或者是/  所以重复使用的时候可以认为 dirname() 把最下层的目录当成文件名来处理了.照常返回  当前目录的上级目录.这样重复就得到了它的上一级的目录.  包含得到上一级目录的文件  include(dirname(__FILE__).'/../file

  • 以纯面向对象的JS编写最基本的数据字典案例

    之前有讲到过数据字典,什么是数据字典,用来干啥的,这个不细说了,今天来说说如何实现数据字典功能无非就是维护数据字典,对数据字典对象进行增删改查,曾经我写过一个页面跳转形式的,十分简单,不说了,今天用JS来实现,当然JS也要面向对象,不论是属性还是函数,都要当成对象来对待! 先来看看数据库表结构,根据上次的有所修改,大致如下:数据存入后: (sql脚本我这边不放出了,在博客上会直接贴出来,微信的代码编辑你懂得!这里我就截图一下了)好,那再来看看页面的展现形式 1:数据字典类型下拉框2:如果数据字典类型没有的话,则通过此两个文本框新建输入(下拉框与文本框同时存在则以下拉框的数据字典类型为主来进行添加或者修改)3,4:数据字典对于的key,和值,比如{"1":"boy","0":"girl"}5:如果通过按钮7新增加一行,则提交即为增加,如果在页面上直接修改,则更新原来数据6:删除数据字典,删除后动态刷新列表7:新增一行空数据8:手动刷新列表基本验证就不多说了,详细可以去博客查看JS(http://www.cnb

  • css3单位em,rem,px,vw,vh等

    昨天发现了个好用的方法去设置手机端的rem单位,在这里记录下。 html{  font-size:calc(100vw/7.5);} 这是按照750的设计稿(也就是iphone6的设计稿)。 100vw是设备的宽度,除以7.5可以让1rem的大小在iPhone6下等于50px。 替换页面中的单位,把所有的px单位替换成rem,除以100,比如某字体大小在设计稿上是36px,就是0.36rem。 在iPhone6下,所有元素的尺寸还是和视觉稿的尺寸一样,而iphone5/iphone6plus中,因为设备的宽度变小/变大了,100vw/7.5得到的值,会相应的变小、变大,即rem的单位值会变,页面中所有的尺寸会等比例缩放。 so,这样就做到l了针对不同分辨率的设备保持视觉一致了。 but,vw单位,在低版本的设备可能不支持,那就需要用js来处理一下: document.documentElement.style.fontSize=window.innerWidth/3.75+'px'复制 ps:之所以让1rem等于50px,而不是1rem等于1px,是因为在chrome下针对中文的最

  • for循环执行流程

    语句格式: for(表达式1;表达式2;表达式3) {   循环体 } 表达式1:赋值表达式,用来给控制变量赋初值。(只执行一次) 表达式2:逻辑表达式,是循环的控制条件,用来判断控制变量是否符合循环条件,是则进入循环体,否则跳出循环。 表达式3:赋值表达式,用来对控制变量进行增量或减量操作。    for循环执行步骤: 步骤1:先初始化控制变量,判断该控制变量是否满足循环条件(表达式1->表达式2),是则进入循环体,否则退出循环 步骤2:更新控制变量,对控制变量进行增量或减量操作,再判断此时控制变量是否满足条件(表达式3->表达式2),满足条件则进入循环体,否则退出循环 步骤3:继续执行步骤2,直至退出循环 #include<stdio.h> intmain() { inti; for(i=0;i<10;i++) { printf("%d\n",i); } printf("%d\n",i); return0; }复制  根据以上分析可知,当i不满足条件i<10时跳出循环(即i=10时),所以跳

  • mybaits-plus 部分注解说明

    参考: https://blog.csdn.net/qq_45684867/article/details/123951309

  • 是的,奈学教育一周年了!

    所有关于奈学的故事,都要从一年前的“秘密进山”说起—— 当晚,一行5人“进山闭关”,一场关于回归教育淳朴本质的头脑风暴就此开启。 2020.01.05 那晚,在奈学教育首次战略会议上,我们决心要颠覆当下IT教育的现状!    会议结束,推门一看,浓浓夜色下屋外早已白雪皑皑,心头一喜,这是瑞雪兆丰年呀,好兆头! 奈学教育创始团队核心成员 正是那个稀松平常的夜晚,几人在一间不算大的房间里心潮澎湃地“秉烛夜谈”,确定了奈学教育未来5年、10年甚至百年的发展方向——不遗余力地改善IT教育培训领域混乱的现状,真正通过“厚道”的方式来传授技术,用技术赋能人才。  我们在做出这样的决定时,对未来将要面对的“狂风暴雨”当然心中有数。但比起热爱,辛苦不值一提!  一场疫情,让2020的打开方式非比寻常,这也预示着2020对于刚刚成立的奈学而言,注定是浓墨重彩的一年。  回首365个日夜,在全体奈学人的共同努力下,累计超20万学员收获职业成长与技术突破,并见证了奈学教育教研实力的持续增强;整个IT在线教育行业,见证了奈学教育从0到1的蜕变;无数技术人、

  • Linux安装JDK完整步骤

    Linux安装JDK完整步骤 阅读目录 1、检查一下系统中的jdk版本 2、检测jdk安装包 3、卸载openjdk 4、安装新的jdk 5、设置环境变量 6、执行profile文件 7、检查新安装的jdk   回到顶部 1、检查一下系统中的jdk版本 [root@localhostsoftware]#java-version复制 显示:[root@localhost~]#java-versionopenjdkversion"1.8.0_262"OpenJDKRuntimeEnvironment(build1.8.0_262-b10)OpenJDK64-BitServerVM(build25.262-b10,mixedmode)[root@localhost~]# 回到顶部 2、检测jdk安装包 [root@localhostsoftware]#rpm-qa|grepjava复制 显示:[root@localhost~]#rpm-qa|grepjavajavassist-3.16.1-10.el7.noarchtzdata-java-2020a-1.el7.

  • 记录一次bug解决过程:else未补全导致数据泄露和代码优化

    一、总结 快捷键ctrl+alt+四个方向键-->倒置屏幕 未补全else逻辑,倒置查询数据泄露 空指针是最容易犯的错误,数据的空指针,可以普遍采用三目运算符来解决 SVN冲突解决关键字:<<<<<<<.working   =======  >>>>>>>.merge-right.r10329 线上实时查看日志的命令:tail-f-n200all.log 二、BUG描述:else逻辑未补全,倒置查询数据泄露 在查询筛选参数的时候,有如下逻辑: if(StringUtils.isNotBlank(logisticsOrder.getParentIds())){//所属复合单 String[]ids=SqlStringUtil.sliptQueryStr(logisticsOrder.getParentIds()); for(Stringid:ids){ if(!StringUtils.isNumeric(id)){ thrownewServic

  • linux系统安装配置exim4(源码安装)

    一、Exim4概述 Exim是一个MTA(MailTransferAgent,邮件传输代理)服务器软件,该软件基于GPL协议开发,是一款开源软件。该软件主要运行于类UNIX系统。通常该软件会与Dovecot或Courier等软件搭配使用。Exim同时也是“进出口”(Export-Import)的英文缩写。 二、软件介质及安装环境 Exim版本:exim-4.89.tar.gz 安装环境: 硬件:SugonL620-G15(龙芯3B1500) 操作系统:iSoftServerOS5.0 beta3formips(普华服务器操作系统龙芯版) 三、安装配置Exim4 安装前配置 serviceiptablesstop 创建普通用户test 安装rpm包pcre-devel、db4-devel 获取exim4源码包 wgetftp://mirror.easyname.at/exim-ftp/exim/exim4/exim-4.89.tar.gz tarzxvfexim-4.89.tar.gz cdexim-4.89 复制    配置相关文件并安装 cdexim-4.89 cp

  • 从主键id生成方案到雪花算法的python详解

    我们在分布式环境下为什么用雪花算法去生成主键id,为什么单机情况下推荐mysql自增id而不推荐使用uuid,雪花算法的具体实现是怎么样的?接下来详细讲述一下。 1、概述 分布式id方案那么多种,我们该以什么样的角度去思考并选择,下面我给出我的出发点。 1.1、常用的索引方案 mysql自增id:这是mysql官方推荐的方案(适合单机版) uuid:数据量小的时候可以使用(不推荐) redis自增id:分布式id的一种方案 雪花算法:分布式id的解决方案(推荐) 1.2、什么样的方案适合做索引 唯一:生成出来的序列必须是唯一的 趋势递增:生成出来的序列可以不是连续递增,但必须是趋势递增的 占用字段小:索引占用的空间尽量小 分布式:分布式环境下生成的id要唯一 高并发:能满足高并发环境生成id的要求 高可用:要高可用,尽量不依赖外界 综上所述,如果我们要选择一个分布式id生成方案雪花算法是最好的选择,其中mysql自增id在分库分表时的id不是唯一(pass),uuid方案它生成的id不是递增的在索引查找时效率慢,reids自增id方案,因为redis的计算

  • c/c++中static与extern关键字介绍

    一.C语言中的static关键字    在C语言中,static可以用来修饰局部变量,全局变量以及函数。在不同的情况下static的作用不尽相同。    (1)修饰局部变量    一般情况下,对于局部变量是存放在栈区的,并且局部变量的生命周期在该语句块执行结束时便结束了。但是如果用static进行修饰的话,该变量便存放在静态数据区,其生命周期一直持续到整个程序执行结束。但是在这里要注意的是,虽然用static对局部变量进行修饰过后,其生命周期以及存储空间发生了变化,但是其作用域并没有改变,其仍然是一个局部变量,作用域仅限于该语句块。    在用static修饰局部变量后,该变量只在初次运行时进行初始化工作,且只进行一次。    如: #include<stdio.h>void fun(){staticint a=1;a++;printf("%d\n",a);}int main(void){fu

  • 2017-2018-1 201552228 《信息安全系统设计基础》第十三周学习总结

    2017-2018-1201552228《信息安全系统设计基础》第十三周学习总结 关于本篇博客的基本介绍 在《信息安全系统设计基础》课程即将结束之际,翻阅教材回顾一学期所学知识,个人感觉进程的并发是很重要的。 并发,在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。 为什么我会这么认为呢?原因有以下两点 并发对于现代操作系统来说是至关重要的。即使是现在的计算机可以拥有多个处理器,并发还是在计算机操作系统中占有不可或缺的地位。理解并发的原理对理解计算机系统如何工作有着很大的帮助。 并发广泛地应用于各种程序的开发中。无论是序列密码算法的程序设计还是网络编程的web开发,并发都是绕不开的问题,也许有时候并发只是影响程序的效率,但是有时候并发却是编程的核心,不能很好地解决并发,算法的实现也是无从谈起。 通览全书,涉及进程的内容主要集中在第八章异常流控制和第十二章并发编程,前者侧重于并发在计算机操作系统中的实现,后者侧重于并发在程序开发过程的应用。当然并发的相关内容还在其他章节

  • acwing算法基础课IV

    质数 大于1的整数中,只包含1和本身这两个约数.叫做质数或者素数. $d|n,,\rightarrow,,\frac{n}{d}|n,,e.g.n=12,3|12\rightarrow4|12.$ 所以我们枚举较小的那个有$d\le\frac{n}{d},,$ 即\(d^2\len\) \(O(\sqrtn)\) 试除法 直接从试做到.sqrt(n) boolis_prime(intn){ if(n<2)returnfalse; for(inti=2;i<=n/i;i++){ if(n%i==0)returnfalse; } returntrue; } intmain(){ intn=read(); rep(i,0,n)puts(is_prime(read())?"Yes":"No"); } 复制 分解质因数 n中最多只包含一个大于sqrt(n)的质因子 voidprint_prime(intn){ for(inti=2;i<=n/i;i++){ if(n%i==0){ ints=0; while(n%i==0)s++,n/=i; //I.直接暴力

  • NuGet修改packages目录/迁移缓存文件夹

    如图,以下是NuGet默认配置       打开C:\ProgramFiles(x86)\NuGet\Config目录的Microsoft.VisualStudio.Offline.config可以看见如下配置        首先把这个目录剪切到其他地方,如D:\ProgramFiles(x86)\NuGetPackages 然后重启即可  

  • Oracle EBS SLA(子分类账)

    SLA概述         SLA(SubledgerAccounting) 子帐是子分类帐会计的简称,字面上的含义就是子分类帐会计分录 SLA常用表介绍    在SLA中技术方面最常用的就是日记账来源追溯,在追溯的过程中从GL到SLA和11i差别不大,都是通过gl_import_references 表来进行,该表的je_batch_id,je_header_id,je_line_num是和GL关联,该表字段gl_sl_link_id 是和SLA中的行表(XLA_AE_LINES)关联,在SLA中重要的几张表如下: XLA_EVENTS: TheXLA_EVENTStablerecordallinformationrelatedtoaspecificevent.ThistableiscreatedasatypeXLA_ARRAY_EVENT_TYPE. XLA_TRANSACTION_ENTITIES: ThetableXLA_TRANSACTI

  • 构建C1000K的服务器(1) – 基础

    转自: http://www.ideawu.net/blog/archives/740.html 著名的 C10K问题提出的时候,正是2001年,到如今12年后的2013年,C10K已经不是问题了,任何一个普通的程序员,都能利用手边的语言和库,轻松地写出C10K的服务器.这既得益于软件的进步,也得益于硬件性能的提高. 现在,该是考虑 C1000K,也就是百万连接的问题的时候了.像Twitter,weibo,Facebook这些网站,它们的同时在线用户有上千万,同时又希望消息能接近实时地推送给用户,这就需要服务器能维持和上千万用户的TCP网络连接,虽然可以使用成百上千台服务器来支撑这么多用户,但如果每台服务器能支持一百万连接(C1000K),那么只需要十台服务器. 有很多技术声称能解决 C1000K 问题,例如Erlang,JavaNIO等等,不过,我们应该首先弄明白,什么因素限制了C1000K问题的解决.主要是这几点: 操作系统能否支持百万连接? 操作系统维持百万连接需要多少内存? 应用程序维持百万连接需要多少内存? 百万连接的吞吐量

相关推荐

推荐阅读