如何动态加载一个JS文件后,能马上运行其中的函数?

JavaScript013

如何动态加载一个JS文件后,能马上运行其中的函数?,第1张

js中是有立即执行函数的,比如说js文件中有一个函数为:

function

sayHello(){

console.log('Hello

World!')

}

如果你想在js文件加载后,立即执行sayHello()函数,那么可以在js中加入

sayHello()的调用即可。

如果你要调用已经写好的JS的话要这么写

比如我现在写一个abc()的方法存在与JS.JS中

然后调用

<script src="JS.JS"></script>

<script>abc()</script>

答:首先要截获检测函数的动态代码,动态执行js代码有两种方法,一是eval,二是function。

现在很多网站都上了各种前端反爬手段,无论手段如何,最重要的是要把包含反爬手段的前端javascript代码加密隐藏起来,然后在运行时实时解密动态执行。

动态执行js代码无非两种方法,即eval和Function。那么,不管网站加密代码写的多牛,我们只要将这两个方法hook住,即可获取到解密后的可执行js代码。

注意,有些网站会检测eval和Function这两个方法是否原生,因此需要一些小花招来忽悠过去