Skip to content

e6line/GetCurScript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

获取当前执行js文件

动态加载js文件,已经被讨论过无数次,由于各个浏览器不同的加载顺序和执行顺序,使得获取当前加载并执行文件变的困难;

当然,如果单个文件加载,不会有些问题。可以通过scripts[scripts.length-1]获取。因为加载后即可执行,所以其实当前执行的就是最后一个。

如果批量加载,将是另外一种情况。我们无法确认当前加载进来的js文件是哪一个。有些浏览器内置了document.currentScript可以很方便的获取当前执行js文件的路径。

的是,只是新版的chrome和firefox支持这个属性。另外一种方式,是很巧妙的利用了抛异常的方式。异常中带有一个stack属性,包含了产生异常的js文件路径。

可以用检测js的加载状态,“interactive”代表末执行完,即当前执行的js文件,可以迭代查找。但很遗憾的是safari浏览器是个例外,它不符合上述两种情况,下面上述两种情况兼容写法:

About

获取当前执行js文件

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published