TA的每日心情 | 开心 2022-8-28 08:36 |
---|
签到天数: 17 天 [LV.4]偶尔看看III
助理工程师
- 积分
- 16
|
发表于
2022-8-11 12:57:20
|
显示全部楼层
记录一下对这个的理解,还有最后那行return _load.call(this, pdfDocument);没看懂,大佬能再讲下吗?this是指向哪里?pdfDocument是原来函数有的一个属性,哪里来的值传进去的
- // iframe内有一个全局对象PDFViewerApplication,可对其进行劫持来判断pdf加载完毕,也可以用其他方法。
- // 1-保存原有函数
- var _load = window.PDFViewerApplication.load;
- // 2-改写原有函数
- window.PDFViewerApplication.load = function(pdfDocument) {
- // 3-在改写后的函数中执行原有函数的逻辑
- // 获取页码数,发送给主页面
- window.top.postMessage({
- numPages: pdfDocument._pdfInfo.numPages
- }, 'https://ctbpsp.com');
- // 4-采用 call 方法劫持,将函数的调用者改为this
- return _load.call(this, pdfDocument);
复制代码
|
|