加载的javascript模块去哪里了?我能找到它们吗?
我正在一个正在运行的网站上做一些研究,代码的行为让我感到惊讶 他们定义了一个名为“\uu jsload”的函数并将其绑定到窗口加载的javascript模块去哪里了?我能找到它们吗?,javascript,debugging,web,browser,Javascript,Debugging,Web,Browser,我正在一个正在运行的网站上做一些研究,代码的行为让我感到惊讶 他们定义了一个名为“\uu jsload”的函数并将其绑定到窗口 window.\u jsload=function(hJ,hK){ var i=d2.getModuleInfo(hJ); i、 状态=d2.Request.LOADED; 如果(香港!==“”){ d2.run(香港黄岛) }否则{ if(window.map){ var e=新a6(“OnGetU模块故障”); e、 moduleName=hJ; 窗口、地图、火灾(
window.\u jsload=function(hJ,hK){
var i=d2.getModuleInfo(hJ);
i、 状态=d2.Request.LOADED;
如果(香港!==“”){
d2.run(香港黄岛)
}否则{
if(window.map){
var e=新a6(“OnGetU模块故障”);
e、 moduleName=hJ;
窗口、地图、火灾(e)
}
var T=document.createElement(“脚本”);
var hI=d2.MD5Mapping[hJ];
T.src=d2.Config.jsModPath+hJ+““+hI+”.js”;
document.getElementsByTagName(“head”)[0]。appendChild(T)
}
};
在run函数中,只有一个eval(),似乎没有存储任何内容以供将来使用
run:函数(T,hI){
var hM=this.getModuleInfo(T);
var hP=this.Dependency[T];
如果(hP){
对于(var hK=0;hK
然后,所有模块都以以下方式写入
/**/_jsload&&u jsload(
//这应该是模块名
“通用”,
//这应该是模块内容
'功能aO(e,i)…'
)
我有一点python编码的经验,所以我认为那些加载的模块将是特殊的对象,我可以通过调用它们来访问模块中定义的函数
将熊猫作为pd导入
pd.DataFrame()
我搜索了一些关于javascript编码的参考资料,他们提到了类似“导入/导出”和“require”的内容。导入模块后,只需调用名称即可调用导出的函数
//在sayHi.js中
导出函数sayHi(用户){
警报(`Hello,${user}!`);
}
//在main.js中
从'/sayHi.js'导入{sayHi};
警惕(说嗨);//功能。。。
sayHi(‘约翰’);//你好,约翰!
这些事情都没有发生在我正在研究的网站上。在整个模块文本中甚至没有“导出”
所以,我的问题来了
3.当您无法获得打印版本的代码并设置断点时,如何调试上述模块?我试图一步一步地进行,但所有函数都进入文本版本模块,我无法创建断点。当某些内容被评估时。它会被放入自己的临时页面,并随机生成一个名称。据我所知。使其中断的唯一方法是单步执行或使用prepend
调试器编码>到字符串上。您应该能够编辑aO
函数字符串以添加调试器代码>你想要的地方。我的意思是应该有一个调用模块中定义的函数的地方。与使用模块的“导入/导出”方式类似,该函数是按其名称调用的。由于没有“导入/导出”,是否还有其他地方可以调用模块中定义的函数?