获取调用特定函数的脚本标签
Get script-tag that called certain function
假设我有 第一个 脚本,其中包含函数 export
function export(*params*){
let callerScriptReference = ....;
.....
}
然后我有一个 second 脚本,我在其中调用此函数
export(*params*);
是否可以从导出函数体内获取对第二个脚本的引用?我想从该脚本标签中获取一些 "data-*" 属性。
脚本以随机顺序添加到页面。
希望你明白我想要完成的事情:D
感谢任何建议或帮助。
如果您在浏览器中,您可以在 html 正文中添加另一个脚本标记。这将允许函数共享相同的范围。
如果你是nodejs,如果你使用的是ES5(目前支持最多):
- script1.js 最后有:
module.exports = 函数 funName() { }
- script2.js开头有:
var funName = require('script1');
据我所知,没有内置方法可以获取有关包含调用代码的 <script>
标记的信息,因此您需要显式传递它。
function export(callerscript, otherparams...) {
...
}
来电者会做:
export(document.currentScript, otherargs...);
如果您在函数中执行此操作,则可以使用 IIFE 捕获闭包变量中的值。
var someFun = (function(curScript) {
return function(stuff) {
export(curScript, stuff);
}; })(document.currentScript);
someFun(stuffArgs);
假设我有 第一个 脚本,其中包含函数 export
function export(*params*){
let callerScriptReference = ....;
.....
}
然后我有一个 second 脚本,我在其中调用此函数
export(*params*);
是否可以从导出函数体内获取对第二个脚本的引用?我想从该脚本标签中获取一些 "data-*" 属性。
脚本以随机顺序添加到页面。
希望你明白我想要完成的事情:D
感谢任何建议或帮助。
如果您在浏览器中,您可以在 html 正文中添加另一个脚本标记。这将允许函数共享相同的范围。
如果你是nodejs,如果你使用的是ES5(目前支持最多):
- script1.js 最后有:
module.exports = 函数 funName() { }
- script2.js开头有:
var funName = require('script1');
据我所知,没有内置方法可以获取有关包含调用代码的 <script>
标记的信息,因此您需要显式传递它。
function export(callerscript, otherparams...) {
...
}
来电者会做:
export(document.currentScript, otherargs...);
如果您在函数中执行此操作,则可以使用 IIFE 捕获闭包变量中的值。
var someFun = (function(curScript) {
return function(stuff) {
export(curScript, stuff);
}; })(document.currentScript);
someFun(stuffArgs);