javascript文件中获取当前文件路径
程序员文章站
2024-02-17 13:12:04
...
在开发javascript插件的过程中,我们有时候需要获取当前JS文件的路径,用于自动加载一些图片、CSS等外部资源,但是javascript文件中并没有像PHP那样的__FILE__常量来供我们取得当前文件路径。
在开发javascript插件的过程中,我们有时候需要获取当前JS文件的路径,用于自动加载一些图片、CSS等外部资源,但是javascript文件中并没有像PHP那样的__FILE__常量来供我们取得当前文件路径。研究了下,发现我们可以用下面几种方法来实现:
1,在jQuery中获取当前JS文件路径
在jQuery中获取当前JS文件的路径比较简单,只需要如下一行代码就搞定。
注意,我们一般把这行代码放到文件的开头,让文件加载的时候就立即执行,这样页面中的script元素中,当前文件恰好是最后一个script。我们千万不要把这行代码放到
2,原生javascript获取当前JS文件路径
在原生的javascript中,要获取当前JS文件路径有两种方法。第一种其实思路和在jQuery中是一样的:
在开发javascript插件的过程中,我们有时候需要获取当前JS文件的路径,用于自动加载一些图片、CSS等外部资源,但是javascript文件中并没有像PHP那样的__FILE__常量来供我们取得当前文件路径。研究了下,发现我们可以用下面几种方法来实现:
1,在jQuery中获取当前JS文件路径
在jQuery中获取当前JS文件的路径比较简单,只需要如下一行代码就搞定。
var __FILE__ = $("script").last().attr("src");
注意,我们一般把这行代码放到文件的开头,让文件加载的时候就立即执行,这样页面中的script元素中,当前文件恰好是最后一个script。我们千万不要把这行代码放到
$(document).ready();
$(function(){ });
中运行,因为如果放到这些语句中去的话,页面的DOM对象已经加载完毕,当前的script就不一定是最后一个script了,从而导致获取的路径不正确。2,原生javascript获取当前JS文件路径
在原生的javascript中,要获取当前JS文件路径有两种方法。第一种其实思路和在jQuery中是一样的:
var __FILE__, scripts = document.getElementsByTagName("script");
__FILE__ = scripts[scripts.length - 1].getAttribute("src");
第二种方法是利用浏览器的异常处理机制,但是这种方法不支持IE10以下版本的IE浏览器: var __FILE__;
try {
throw Error("获取JS路径有误");
}catch(ex){
if(ex.fileName) //Firefox
__FILE__ = ex.fileName;
else if(ex.stack)//Chrome 或 IE10
__FILE__ = (ex.stack.match(/at\s+(.*?):\d+:\d+/)||['',''])[1];
else if(ex.sourceURL)//Safari
__FILE__ = ex.sourceURL;
}
在原生的javascript中获取当前文件路径的时候,建议使用第一种方法,兼容所有浏览器,第二种方法仅供参考。 AD:真正免费,域名+虚机+企业邮箱=0元
推荐阅读
-
javascript文件中获取当前文件路径
-
PHP中查找文件的相对路径也许绝对路径的工具
-
完美解决Java获取文件路径出现乱码的问题
-
C# WinForm编程获取文件物理路径的方法
-
jsp中获取当前文件路径 . 博客分类: web前端 jsp路径requestapplication
-
在指定的路径中的Jar文件中寻找自己所需要的class 博客分类: JavaWebSphereMacIBM JavaJDKJarClassFindClassToolkit
-
PHP获取文件夹内所有文件包括子目录文件的名称或路径,_PHP教程
-
PHP获取文件绝对路径的代码(上一级目录)
-
WSL中通过fs.stat获取文件的birthtime不正确的原因
-
随笔记:java中调用JavaScript方法(多js文件)