如何检查该函数是否从外部js文件调用
How to check if the function is called from foreign js file
在我的页面上有一个外部JS文件没有从我们的服务器加载。简而言之,我对该文件没有任何控制权,也无法编辑该文件。我已经创建了 1 个函数,我希望在调用该外来文件中的函数后调用该函数。
我知道外来文件的功能名称。我希望在执行外来文件中的函数后调用我的函数。我该怎么做?
如果您不了解我在这里的问题,请告诉我。我会尝试再次解释它。
提前致谢
如果外来函数在全局范围内,你可以用自己的包装器替换它:
var _old = foreignFunction;
foreignFunction = function() {
// put pre-call stuff here
...
// call with the original context and args
_old.apply(this, arguments);
// and post-call stuff here
...
}
请注意使用 .apply
来确保提供给原始函数的任何上下文和参数仍提供给它。 没有它,该函数中的this
变量可能不是它应该的样子。
你必须用你自己的函数替换外来函数。这可能是可能的,也可能是不可能的,这取决于执行的顺序。
在函数(ForeignFunc())加载到页面上之后
var _originalForeignFunc = ForeignFunc;
ForeignFunc = function() {
_originalForeignFunc();
//now do whatever you want to do here
alert("After Foreign Func Execution");
}
请记住,这只有在实际调用之前ForeignFunc()
替换为自己的定义时才有效。
相关文章:
- Firebase2(Firebase.google.com)推送通知-从外部管理
- 如何从外部页面激活非默认引导选项卡
- 图像可以从源<img src=""/>.TEXT可以在没有javascript的情况下从外部
- 如何从外部url寻址数据
- 如何检查该函数是否从外部js文件调用
- 是否可以从外部样式表中获取 dom 元素的特定 css 属性的值,而不是从计算的样式表中获取
- 是否有任何方法可以使用JQueryGetJSON方法从外部页面获取HTML
- 是否可以从外部文件控制拖缆
- 是否可以将Cordova exec命令从外部网络发送到Cordova应用程序
- AngularJs:是否可以从外部将值传递给控制器或指令
- 是否可以从外部javascript文件调用Razor@函数
- 是否可以从外部网站使用XML ?
- 是否有一种方法可以从外部服务器捕获http/s响应
- 是否有可能将图像从外部源转换为base64字符串客户端
- 是否可以从外部url访问内部jQuery #链接(直接访问单个网站部分)?
- 是否有可能从外部样式表中拉入所有样式并将它们放在同一页面上?
- 如何检查jquery是否从外部JS文件加载
- 是否可以使用extendscript从外部illustrator文件加载对象属性
- 是否可以在从外部网络服务器加载的Web应用程序中使用Electron
- 在AngularJS中,是否可以强制视图从外部进行更新's控制器