为什么80%的码农都做不了架构师?>>>   

原理很简单,就是根据已知JS路径来确定。

例如:根目录下有/jquery/widget/colorpicker/bi.ui.colorpicker.js

不同情况下,自身的JS路径不同:

上下文为demo:
http://ip:port/demo/jquery/widget/colorpicker/bi.ui.colorpicker.js
上下文为空:
http://ip:port/jquery/widget/colorpicker/bi.ui.colorpicker.js

因此,只需匹配URL,检查contextPath是否等于jquery即可。

   /*** 获取上下文*/function getContextPath(){var els = document.getElementsByTagName('script'), src;for (var i = 0, len = els.length; i < len; i++) {src = els[i].src || '';if (/bi.ui.colorpicker[\w\-\.]*\.js/.test(src)) {src = src.replace("\\","/");var basePath =  src.substring(0, src.lastIndexOf('/') + 1);var reg = /^(\w+):\/\/([^\/:]*)(?::(\d+))?\/([^\/]*)(\/.*)/;var result = reg.exec(basePath);return result[3] == 'jquery' ? "" : ("/" + result[3]);}}return '';}

转载于:https://my.oschina.net/lldy/blog/1828220

JS获取服务上下文,兼容上下文为空场景相关推荐

  1. JS 获取当前日期时间(兼容IE FF)

    以前在页面中获得当前时间的方法如下: function SelectTodayClient() {var d = new Date();var taday = d.getYear() + " ...

  2. js获取当前时间写入HTML,html获取当前时间 js获取当前日期的前后4天

    可以用javascript,先创建Date对象的实例(也叫做对象的引用).创建实例的语法有如下三种. var newDateObj = new Date() var newDateObj = new ...

  3. js 获取上下文后面的路径_通过在数据后面显示上下文来可视化公众意见

    js 获取上下文后面的路径 In 1824, The Harrisburg Pennsylvanian, a newspaper from a town in Pennsylvania conduct ...

  4. JS获取鼠标位置,兼容IE FF

    JS获取鼠标位置,兼容IE FF 由于Firefox和IE等浏览器之间对js解释的方式不一样,firefox下面获取鼠标位置不能够直接使用clientX来获取.网上说的一般都是触发mousemove事 ...

  5. OpenCASCADE可视化:应用交互服务之交互式上下文

    OpenCASCADE可视化:应用交互服务之交互式上下文 规则 功能组 交互上下文的管理 规则 交互式上下文允许以透明的方式管理一个或多个查看器中交互式对象的图形和可选行为.大多数允许修改交互对象属性 ...

  6. [js] 获取浏览器当前页面的滚动条高度的兼容写法

    [js] 获取浏览器当前页面的滚动条高度的兼容写法 document.documentElement.scrollTop || document.body.scrollTop; 个人简介 我是歌谣,欢 ...

  7. js获取滚动条距离浏览器顶部,底部的高度,兼容ie和firefox

    做web开发经常会碰到需要获取浏览器的滚动条与顶部和底部的距离,然后做相应的处理动作.下面作者就如何通过js来获取浏览器滚动条距离浏览器顶部和底部的高度做一下分享,这个是同时兼容ie和firefox的 ...

  8. vue中解决three.js出现内存泄漏丢失上下文问题

    vue中解决three.js出现内存泄漏丢失上下文问题 参考文章: (1)vue中解决three.js出现内存泄漏丢失上下文问题 (2)https://www.cnblogs.com/lichuank ...

  9. js获取手机设备型号,兼容h5

    js获取手机设备型号,兼容h5 var brand = (window.navigator.userAgent).toLowerCase(); //获取手机型号信息,兼容h5 if (brand.in ...

最新文章

  1. 面试题整理13 合并排序链表去重
  2. mate30升级鸿蒙系数据会被清空吗,145直接升级鸿蒙会不会掉资料
  3. 在windows下安装git中文版客户端并连接gitlab
  4. 【PyQt5】QT designer + eclipse 集成开发
  5. mysql自增 java_如何在java中自动增加mysql中的用户id
  6. http server类型和版本号_nginx 简单隐藏服务器版本号
  7. 卡尔曼滤波,高斯函数
  8. WRK-HTTP压力测试工的下载安装与使用方法
  9. (转载)C#中如何获取当前路径的几种方法
  10. cmw500 lte非信令测试_买CMW500,信令与非信令的含义?功能?
  11. 物联网安全 - 对称加密算法
  12. linux压缩文件夹命令
  13. C++中的protected
  14. web前端入门知识大全:系统路线,各类要点解析
  15. onedrive登陆以后是白板,OneDrive不能正常显示与设置
  16. 猿辅导python编程老师面试_猿辅导辅导老师面试一系列的感受
  17. HTML辅助下载个人官网源码+UI非常不错
  18. ASO干货丨6招解决APP上架时内购频繁被拒问题
  19. python协程gevent案例 爬取斗鱼图片过程解析 - python
  20. 男人健康八年一个转折

热门文章

  1. Magento:Paypal付款不成功返回后不要清空购物车产品的解决方案
  2. 百度地图开发的时候遇到的问题(二)
  3. 彻底解决springboot修改页面和代码会自动重启
  4. Linux服务器添加SVN用户
  5. 面试时被问如何进行接口测试怎么回答
  6. 文件一另存为电脑就卡住_文件太多怎么办?用Excel做一个简易目录!轻松管理多个文件...
  7. python输入数据的维度_python – Keras LSTM输入维度设置
  8. python func函数用法_python教程:3个非常有用的内置函数
  9. mapview | 如何快速使用交互式地图展示空间数据信息
  10. e5 e3 php,硬件百科:E3/E5为什么让“垃圾佬”痴迷