vue组件引入外部js同时获取变量

引入文件支持加载成功回调,支持通过字符串变量名获取js文件的变量

/*** 引入js文件 并且获取变量* @param src js路径* @param variableName 需要获取的变量名* @param callback*/
export const importJs = (src, variableName = '', callback = '') => {if (!isInclude(src)) { // 避免重复引入const script = document.createElement('script')script.type = 'text/JavaScript'script.src = srcdocument.body.appendChild(script)if (typeof callback === 'function') {script.onload = script.onreadystatechange = function() {if (!script.readyState || /loaded|complete/.test(script.readyState)) {script.onload = script.onreadystatechange = null // 避免重复触发const fn = new Function('return ' + variableName)callback(variableName !== '' ? fn() : '')}}}} else if (typeof callback === 'function') {const fn = new Function('return ' + variableName)callback(variableName !== '' ? fn() : '')}
}
// 是否引入资源文件
function isInclude(name) {const js = /js$/i.test(name)const es = document.getElementsByTagName(js ? 'script' : 'link')for (let i = 0; i < es.length; i++) {if (es[i][js ? 'src' : 'href'].indexOf(name) !== -1) return true}return false
}

vue组件引入外部js同时获取变量,解决重复引入相关推荐

  1. vue如何引入外部js文件,待解决,急!!!

    html中用<script src="https://mas.spdb.com.cn/public/scripts/app.upchat.js"></script ...

  2. vue引入外部文件_vue文件中引入外部js

    1.在项目的入口文件中(app.js)定义remoteScript标签 Vue.component('remote-script', { render: function (createElement ...

  3. php引入外部js,vue.js怎么引入外部js,vue引入第三方js库

    vue.js怎么引入外部js·怎么介绍外部js,在vue.js中引入外部js的方法如下:1.使用外部文件[config.js],代码为[函数格式XML(text){ return text }]:2. ...

  4. vue实例中调用外部js_vue中引入外部js方法实例

    我们在做vue项目时,经常会需要引入js,常用的有以下几种.本文主要和大家分享vue中引入外部js方法实例,希望能帮助到大家. 第一种import XX from "路径" Vue ...

  5. uniapp怎么引入css_Uniapp怎么引入外部js

    Uniapp引入外部js的方法:首先新建一个indexl文件,引入外部js,代码为[]:然后打开manifest文件. 本教程操作环境:windows7系统.uni-app2.5.1版本,该方法适用于 ...

  6. uniapp引用外部js_Uniapp怎么引入外部js

    Uniapp引入外部js的方法:首先新建一个indexl文件,引入外部js,代码为[]:然后打开manifest文件. 本教程操作环境:windows7系统.uni-app2.5.1版本,该方法适用于 ...

  7. Nuxt 项目引入外部Js的正确姿势 ,问题描述:打包构建之后引入的外部 js失效,构建之后的 .nuxt 文件夹下的js文件中,引入 js 的script标签凭空消失!

    首先先说我遇到的问题描述:       我是用vue + nuxt项目,项目中使用了阿里播放器,于是我在vue页面中直接引入了阿里播放器的 css和js文件,然后运行没有任何问题:如下图所示: 但是! ...

  8. html中body引入js,ASP.NET MVC中在 @RenderBody() 或者 @Html.Partial()中需要使用引入外部js,css...

    今天想在后台封装一下bootstraptree这个插件,引入jquery.js bootstrap.js bootstrap.css bootstrap-tree.js后,我在页面查看脚本错误就连最简 ...

  9. 引入外部js如何通知页面其编码格式

    快来java1234 吧 js中如何设置编码格式 <script type="text/javascript" src="xxx" charset=&qu ...

最新文章

  1. 基于OpenCV实现口罩识别
  2. 用一份PPT开始你的Hyper-v虚拟化之旅
  3. 13.挂载点、文件系统、磁盘的命名、分区的命名
  4. Codeforces 864 A Fair Game 水题
  5. 【Python】青少年蓝桥杯_每日一题_11.03_按要求输出两个正整数之间的数
  6. 洛谷——P1223 排队接水
  7. 取消java相关网络协议_java相关网络协议可以关掉吗
  8. new 实例化对象是啥意思_前端经典面试题解密:JS的new关键字都干了什么?
  9. 数据库部分重点内容回顾
  10. html展示pdf文件流,使用pdfjs提供的viewer.html展示pdf文件流
  11. python入侵数据库数据库_一个简单的Python访问Mysql数据库例子
  12. OpenCV二值化cvThreshold和自适应二值化cvAdaptiveThreshold及Otsu
  13. 利用Windows server 2003 实现DHCP中继
  14. 第二个Arduino小车 两轮自平衡
  15. 使用tushare获取A股数据
  16. DB2 SQLCODE 异常大全编辑(四)
  17. 基于熵权法评估某高校各班级整体情况(公式详解+简单工具介绍)
  18. 微信小程序保存图片至手机相册
  19. 脸谱网下载_脸谱网对AR眼镜大胆愿景的最大障碍是信任
  20. 流星加速器木马分析与处置方案

热门文章

  1. 架构大咖说丨顶级架构师 = 技术大牛?
  2. BZOJ2142:礼物(扩展Lucas)
  3. matlab验证柯西中值定理,对柯西中值定理的若干认识
  4. 【Android】 Color 颜色设置
  5. 统计最近7天的数据(统计)
  6. 移形换影:短视频色彩特效背后的故事
  7. Linux——什么是inode
  8. reveal.js + markdown 制作幻灯片——配置选项,幻灯片背景,尺寸,插入媒体,链接
  9. python培训感悟,Python培训知识总结系列
  10. Hadoop学习之旅三:MapReduce