js获取当前元素,和当前路径

支持document.currentScript的浏览器,用document.currentScript

和document.currentScript.src

ie的低版本遍历script标签判断readyState的值是否为"interactive",

上面两种是可以完美获取的

两者都不支持的,通过stack获取路径,但是无法完美获取元素,通过遍历script标签判断src的值,

存在的问题是,多个相同路径的script同时加载,不能正确判断,不过这种情况很少见。

如果stack也不支持,只能获取最后一个元素了,

一些测试结果:

firefox的e.fileName和safari的e.sourceURL,获取到的地址是报错的地址,只能直接用,比如a.js调用b.js里的getCurrentPath函数,获取到的地址是b.js。所以不行用。

IE的onerror事件获取到的地址,ie8是js地址,ie7和ie6都是html的地址,所以用onerror不行

猜你喜欢

转载自my.oschina.net/u/818899/blog/1632864