我正在使用函数$.getScript('myFile.js')
加载脚本。我想知道myFile.js文件的类名是什么。我怎么能这样做?
myFile.js的内容是:
class myFile {
static Do_something() {
console.log('Hello');
}
}
答案 0 :(得分:0)
使用ajax和一些正则表达式...
function getClassNamesInFile(file){
return new Promise(done=>{
$.ajax({
dataType: 'text',
url: file
}).done(txt=>{
var classes = (txt.match(/class ([a-zA-Z0-9]+)/g) || {})
.map(itm=>itm.split(" ").pop());
done(classes);
});
});
}
像这样使用它......
getClassNamesInFile('myFile.js').then(function(classNames){
console.log(classNames);
});
如果您还需要添加文件(例如$.getScript
),您可以这样做......
function getClassNamesInFile(file, runFile=false){
return new Promise(done=>{
$.ajax({
dataType: 'text',
url: file
}).done(txt=>{
var classes = txt.match(/class ([a-zA-Z0-9]+)/g)
.map(itm=>itm.split(" ").pop());
if(!runFile) return done(classes);
let scr = document.createElement("script");
scr.onload = ()=>done(classes);
scr.setAttribute('src', file);
document.body.appendChild(scr);
});
});
}
getClassNamesInFile('myFile.js', true).then(function(classNames){
console.log(classNames);
if(~classNames.indexOf('myFile')) myFile.Do_something();
});