PageSourceSearch

https://petroanalytica.ru/wp-content/plugins/e2pdf/js/e2pdf.frontend.js?ver=1.28.14

js petroanalytica.ru collected 2026-10-06 06:52:26 UTC 16,039 bytes, 331 lines download raw bytes

1var e2pdfViewer = {
2    updateViewArea: function (pdfIframe, listener) {
3        if (pdfIframe.hasClass('e2pdf-pages-loaded') && pdfIframe.hasClass('e2pdf-responsive')) {
4            var pdfIframeContents = pdfIframe.contents();
5            var viewerHeight = parseInt(pdfIframeContents.find('#viewer').outerHeight());
6            if (pdfIframe.hasClass('e2pdf-responsive-page')) {
7                viewerHeight = parseInt(pdfIframeContents.find('#viewer .page').first().outerHeight());
8            }
9            var viewerContainerTop = parseInt(pdfIframeContents.find('#viewerContainer').offset().top);
10            pdfIframe.innerHeight(viewerHeight + viewerContainerTop + 2);
11            if (!pdfIframe.hasClass('e2pdf-responsive-page')) {
12                pdfIframeContents.find('#viewerContainer').scrollTop(0);
13            }
14        }
15        if (listener == 'pagesloaded') {
16            var pdfIframeContents = pdfIframe.contents();
17            pdfIframeContents.find('#viewerContainer').scrollTop(0);
18        }
19    },
20    viewSinglePageSwitch: function (pdfIframe, page) {
21        if (pdfIframe.hasClass('e2pdf-single-page-mode') && pdfIframe.hasClass('e2pdf-responsive')) {
22            var page = parseInt(page);
23            if (page) {
24                var pdfIframeContents = pdfIframe.contents();
25                pdfIframeContents.find('.page').not('.page[data-page-number="' + page + '"]').css({'position': 'absolute', 'visibility': 'hidden', 'z-index': '-1'});
26                pdfIframeContents.find('.page[data-page-number="' + page + '"]').css({'position': 'relative', 'visibility': '', 'z-index': ''});
27            }
28        }
29    },
30    iframeLoad: function (iframe) {
31        var pdfIframe = jQuery(iframe);
32        if (!pdfIframe.hasClass('e2pdf-preload')) {
33            var pdfIframeContents = pdfIframe.contents();
34            pdfIframe.addClass('e2pdf-view-loaded');
35            pdfIframeContents.find('html').addClass('e2pdf-view-loaded');
36            if (iframe.contentWindow && iframe.contentWindow.PDFViewerApplication) {
37                var PDFViewerApplication = iframe.contentWindow.PDFViewerApplication;
38                if (pdfIframe.attr('cursor')) {
39                    PDFViewerApplication.pdfCursorTools.switchTool(parseInt(pdfIframe.attr('cursor')));
40                }
41                if (iframe.contentWindow.PDFViewerApplicationOptions) {
42                    if (pdfIframe.attr('resolution')) {
43                        iframe.contentWindow.PDFViewerApplicationOptions.set('printResolution', parseInt(pdfIframe.attr('resolution')));
44                    }
45                    if (pdfIframe.attr('scroll')) {
46                        iframe.contentWindow.PDFViewerApplicationOptions.set('scrollModeOnLoad', parseInt(pdfIframe.attr('scroll')));
47                    }
48                    if (pdfIframe.attr('spread')) {
49                        iframe.contentWindow.PDFViewerApplicationOptions.set('spreadModeOnLoad', parseInt(pdfIframe.attr('spread')));
50                    }
51                }
52                PDFViewerApplication.initializedPromise.then(function () {
53                    PDFViewerApplication.eventBus.on('pagesloaded', function (event) {
54                        pdfIframe.addClass('e2pdf-pages-loaded');
55                        pdfIframeContents.find('html').addClass('e2pdf-pages-loaded');
56                        e2pdfViewer.viewSinglePageSwitch(pdfIframe, 1);
57                        e2pdfViewer.updateViewArea(pdfIframe, 'pagesloaded');
58                    });
59                    PDFViewerApplication.eventBus.on('pagechanging', function (event) {
60                        if (event && event.pageNumber) {
61                            e2pdfViewer.viewSinglePageSwitch(pdfIframe, event.pageNumber);
62                            e2pdfViewer.updateViewArea(pdfIframe, 'pagechanging');
63                        }
64                    });
65                    var title = document.title;
66                    PDFViewerApplication.eventBus.on('beforeprint', function (event) {
67                        if (PDFViewerApplication.printService) {
68                            var pdfTitle;
69                            var metadataTitle = PDFViewerApplication.metadata && PDFViewerApplication.metadata.get("dc:title");
70                            if (metadataTitle) {
71                                if (metadataTitle !== "Untitled" && !/[\uFFF0-\uFFFF]/g.test(metadataTitle)) {
72                                    pdfTitle = metadataTitle;
73                                }
74                            }
75                            if (pdfTitle) {
76                                document.title = pdfTitle;
77                            } else if (PDFViewerApplication.contentDispositionFilename) {
78                                document.title = PDFViewerApplication.contentDispositionFilename;
79                            }
80                        }
81                    });
82                    PDFViewerApplication.eventBus.on('afterprint', function (event) {
83                        document.title = title;
84                    });
85                    var listeners = [
86                        'scalechanging',
87                        'scalechanged',
88                        'rotationchanging',
89                        'updateviewarea',
90                        'scrollmodechanged',
91                        'spreadmodechanged',
92                        'pagechanging',
93                        'zoomin',
94                        'zoomout',
95                        'zoomreset',
96                        'nextpage',
97                        'previouspage'
98                    ];
99                    listeners.forEach(function (listener) {
100                        PDFViewerApplication.eventBus.on(listener, function (event) {
101                            e2pdfViewer.updateViewArea(pdfIframe, listener);
102                        });
103                    });
104                });
105            } else {
106                pdfIframeContents[0].addEventListener('pagesloaded', function (event) {
107                    pdfIframe.addClass('e2pdf-pages-loaded');
108                    pdfIframeContents.find('html').addClass('e2pdf-pages-loaded');
109                    e2pdfViewer.viewSinglePageSwitch(pdfIframe, 1);
110                    e2pdfViewer.updateViewArea(pdfIframe, 'pagesloaded');
111                });
112                pdfIframeContents[0].addEventListener('pagechanging', function (event) {
113                    if (event && event.detail && event.detail.pageNumber) {
114                        e2pdfViewer.viewSinglePageSwitch(pdfIframe, event.detail.pageNumber);
115                        e2pdfViewer.updateViewArea(pdfIframe, 'pagechanging');
116                    }
117                });
118                var listeners = [
119                    'scalechanging',
120                    'scalechanged',
121                    'rotationchanging',
122                    'updateviewarea',
123                    'scrollmodechanged',
124                    'spreadmodechanged',
125                    'pagechanging',
126                    'zoomin',
127                    'zoomout',
128                    'zoomreset',
129                    'nextpage',
130                    'previouspage'
131                ];
132                listeners.forEach(function (listener) {
133                    pdfIframeContents[0].addEventListener(listener, function (event) {
134                        e2pdfViewer.updateViewArea(pdfIframe, listener);
135                    });
136                });
137            }
138        }
139    },
140    imageLoad: function (image) {
141        var img = jQuery(image);
142        var preload = img.attr('preload');
143        if (preload) {
144            img.removeClass('e2pdf-preload')
145            img.removeAttr('preload');
146            img.attr('src', preload);
147        }
148    },
149    print: {
150        browser: {
151            isFirefox: function () {
152                return typeof InstallTrigger !== 'undefined';
153            },
154            isIE: function () {
155                return navigator.userAgent.indexOf('MSIE') !== -1 || !!document.documentMode;
156            },
157            isEdge: function () {
158                return !e2pdfViewer.print.browser.isIE() && !!window.StyleMedia;
159            }
160        },
161        iframeSupport: function () {
162            if (navigator.userAgent.indexOf('Mobile') !== -1) {
163                return false;
164            }
165            return true;
166        },
167        pdf: function (blobURL) {
168            var iframe = document.createElement('iframe');
169            if (e2pdfViewer.print.iframeSupport()) {
170                if (e2pdfViewer.print.browser.isFirefox()) {
171                    iframe.setAttribute('style', 'width: 1px; height: 100px; position: fixed; left: 0; top: 0; opacity: 0; border-width: 0; margin: 0; padding: 0');
172                } else {
173                    iframe.setAttribute('style', 'visibility: hidden; height: 0; width: 0; position: absolute; border: 0');
174                }
175                iframe.onload = function () {
176                    try {
177                        iframe.focus();
178                        if (e2pdfViewer.print.browser.isEdge() || e2pdfViewer.print.browser.isIE()) {
179                            try {
180                                iframe.contentWindow.document.execCommand('print', false, null);
181                            } catch (e) {
182                                iframe.contentWindow.print();
183                            }
184                        } else {
185                            iframe.contentWindow.print();
186                        }
187                    } catch (error) {
188
189                    } finally {
190                        if (e2pdfViewer.print.browser.isFirefox()) {
191                            iframe.style.visibility = 'hidden';
192                            iframe.style.left = '-1px';
193                        }
194
195                    }
196                };
197                iframe.setAttribute('src', blobURL);
198                document.getElementsByTagName('body')[0].appendChild(iframe);
199            }
200        }
201    }
202
203};
204jQuery(document).ready(function () {
205    jQuery(document).on('click', 'a.e2pdf-download-loader', function (e) {
206        var link = jQuery(this);
207        if (!link.hasClass('e2pdf-download-ready')) {
208            e.preventDefault();
209        }
210        var linkURL = link.attr('href');
211        if (!link.hasClass('e2pdf-download-progress')) {
212            link.addClass('e2pdf-download-progress');
213            fetch(link.attr('href'), {
214                method: 'GET',
215                headers: {
216                    'X-E2PDF-REQUEST': 'true'
217                }
218            }).then(resp => {
219                if (resp.ok) {
220                    return resp.blob().then((blob) => {
221                        const blobURL = URL.createObjectURL(blob);
222                        link.attr('href', blobURL).addClass('e2pdf-download-ready');
223                        link[0].click();
224                        link.attr('href', linkURL).removeClass('e2pdf-download-ready e2pdf-download-progress');
225                    });
226                } else {
227                    var errorMessage = 'Something went wrong!';
228                    return resp.json().then((json) => {
229                        if (json && json.redirect_url) {
230                            link.attr('href', linkURL).removeClass('e2pdf-download-ready e2pdf-download-progress');
231                            window.location.href = json.redirect_url;
232                        } else {
233                            if (json && json.error) {
234                                errorMessage = json.error;
235                            }
236                            throw new Error(errorMessage);
237                        }
238                    }).catch(() => {
239                        throw new Error(errorMessage);
240                    });
241                }
242            }).catch((error) => {
243                link.attr('href', linkURL).removeClass('e2pdf-download-ready e2pdf-download-progress');
244                alert(error.message || 'Something went wrong!');
245            });
246        }
247    });
248    jQuery(document).on('click', 'a.e2pdf-print-pdf', function (e) {
249        var link = jQuery(this);
250        e.preventDefault();
251        if (!link.hasClass('e2pdf-download-ready')) {
252            e.preventDefault();
253        }
254        var linkURL = link.attr('href');
255        if (!link.hasClass('e2pdf-download-progress')) {
256            link.addClass('e2pdf-download-progress');
257            fetch(link.attr('href'), {
258                method: 'GET',
259                headers: {
260                    'X-E2PDF-REQUEST': 'true'
261                }
262            }).then(resp => {
263                if (resp.ok) {
264                    resp.blob().then((blob) => {
265                        const blobURL = URL.createObjectURL(new Blob([blob], {type: 'application/pdf'}));
266                        e2pdfViewer.print.pdf(blobURL);
267                        link.addClass('e2pdf-download-ready');
268                        link.removeClass('e2pdf-download-ready e2pdf-download-progress');
269                    });
270                } else {
271                    var errorMessage = 'Something went wrong!';
272                    return resp.json().then((json) => {
273                        if (json && json.redirect_url) {
274                            link.attr('href', linkURL).removeClass('e2pdf-download-ready e2pdf-download-progress');
275                            window.location.href = json.redirect_url;
276                        } else {
277                            if (json && json.error) {
278                                errorMessage = json.error;
279                            }
280                            throw new Error(errorMessage);
281                        }
282                    }).catch(() => {
283                        throw new Error(errorMessage);
284                    });
285                }
286            }).catch((error) => {
287                link.attr('href', linkURL).removeClass('e2pdf-download-ready e2pdf-download-progress');
288                alert(error.message || 'Something went wrong!');
289            });
290        }
291    });
292    if (jQuery('.e2pdf-download.e2pdf-auto').not('.e2pdf-iframe-download').length > 0) {
293        jQuery('.e2pdf-download.e2pdf-auto').not('.e2pdf-iframe-download').each(function () {
294            if (jQuery(this).hasClass('e2pdf-print-pdf') || jQuery(this).hasClass('e2pdf-d
294ownload-loader')) {
295                jQuery(this).click();
296            } else if (jQuery(this).hasClass('e2pdf-inline')) {
297                window.open(jQuery(this).attr('href'), '_blank');
298            } else {
299                location.href = jQuery(this).attr('href');
300            }
301        });
302    }
303    jQuery('.modal').on('show.bs.modal', function () {
304        var modal = jQuery(this);
305        modal.find('iframe.e2pdf-preload').each(function () {
306            jQuery(this).removeClass('e2pdf-preload').attr('src', jQuery(this).attr('preload'));
307        });
308    });
309    var wpcf = document.querySelector('.wpcf7');
310    if (wpcf !== null) {
311        wpcf.addEventListener('wpcf7mailsent', function (event) {
312            var message = event.detail.apiResponse.message;
313            if (message && (message.includes('e2pdf-view') || message.includes('e2pdf-download'))) {
314                if (jQuery('.wpcf7-response-output').length > 0) {
315                    if (window.MutationObserver) {
316                        new MutationObserver((mutationsList, observer) => {
317                            for (var mutation of mutationsList) {
318                                observer.disconnect();
319                                jQuery('.wpcf7-response-output').html(jQuery('.wpcf7-response-output').text());
320                            }
321                        }).observe(jQuery('.wpcf7-response-output')[0], {attributes: false, childList: true, characterData: false});
322                    } else {
323                        setTimeout(function () {
324                            jQuery('.wpcf7-response-output').html(jQuery('.wpcf7-response-output').text());
325                        }, 500);
326                    }
327                }
328            }
329        }, false);
330    }
331});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.