大佬教程收集整理的这篇文章主要介绍了获取当前正在执行的JavaScript代码的文件路径,以获取动态加载的跨域JavaScript文件,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要加载跨域JavaScript
动态文件为我的网站http://jsbookmarklets.com/中的bookmarklet
解决方案应满足:
>获取当前文件的路径
>当前网页的域和执行中的JS文件是不同的
>解决方案应该是跨浏览器
>可以异步加载多个脚本(这就是下面提到的相关问题不合适的原因)
我想获取当前正在执行的JavaScript代码的文件路径,以便动态加载更多资源(更多CSS文件和JS文件,如自定义代码和jQuery,jQuery UI和Ext JS库),这些文件存储在与JavaScript相同/相对的文件夹中小书签.
以下方法不适合我的问题:
var scripts = document.getElementsByTagName("script");
var src = scripts[scripts.length-1].src;
alert("THIS IS: "+src);
相关问题不符合我的问题:
> Get the url of currently executing js file when dynamically loaded
> Get script path
var fnFullFilePathToFileParentPath = function(JSFullFilePath){
var JSFileParentPath = '';
if(JSFullFilePath) {
JSFileParentPath = JSFullFilePath.substring(0,JSFullFilePath.lastIndexOf('/')+1);
} else {
JSFileParentPath = null;
}
return JSFileParentPath;
};
var fnExceptionToFullFilePath = function(e){
var JSFullFilePath = '';
if(e.fileName) { // firefox
JSFullFilePath = e.fileName;
} else if (e.stacktrace) { // opera
var tempStackTrace = e.stacktrace;
tempStackTrace = tempStackTrace.substr(tempStackTrace.indexOf('http'));
tempStackTrace = tempStackTrace.substr(0,tempStackTrace.indexOf('Dummy Exception'));
tempStackTrace = tempStackTrace.substr(0,tempStackTrace.lastIndexOf(':'));
JSFullFilePath = tempStackTrace;
} else if (e.stack) { // firefox,opera,chrome
(function(){
var str = e.stack;
var tempStr = str;
var strProtocolSeparator = '://';
var idxProtocolSeparator = tempStr.indexOf(strProtocolSeparator)+strProtocolSeparator.length;
var tempStr = tempStr.substr(idxProtocolSeparator);
if(tempStr.charAt(0)=='/') {
tempStr = tempStr.substr(1);
idxProtocolSeparator++;
}
var idxHostSeparator = tempStr.indexOf('/');
tempStr = tempStr.substr(tempStr.indexOf('/'));
var idxFileNameEndSeparator = tempStr.indexOf(':');
var finalStr = (str.substr(0,idxProtocolSeparator + idxHostSeparator + idxFileNameEndSeparator));
finalStr = finalStr.substr(finalStr.indexOf('http'));
JSFullFilePath = finalStr;
}());
} else { // internet explorer
JSFullFilePath = null;
}
return JSFullFilePath;
};
var fnExceptionToFileParentPath = function(e){
return fnFullFilePathToFileParentPath(fnExceptionToFullFilePath(e));
};
var fnGetJSFileParentPath = function() {
try {
throw new Error('Dummy Exception');
} catch (e) {
return fnExceptionToFileParentPath(e);
}
};
var JSFileParentPath = fnGetJSFileParentPath();
alert('File parent path: ' + JSFileParentPath);
以上是大佬教程为你收集整理的获取当前正在执行的JavaScript代码的文件路径,以获取动态加载的跨域JavaScript文件全部内容,希望文章能够帮你解决获取当前正在执行的JavaScript代码的文件路径,以获取动态加载的跨域JavaScript文件所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。