| 16805 | e.preventDefault(); |
| 16806 | self.selectViewmore(imgSpan, curNode.dataset.src); |
| 16807 | let loadError = e => { |
| 16808 | if (/^blob:/.test(dataset(node, 'src'))) { |
| 16809 | let i = document.createElement("img"); |
| 16810 | i.src = curNode.dataset.thumbSrc; |
| 16811 | curNode.dataset.src = curNode.dataset.thumbSrc; |
| 16812 | popupImgWin(i); |
| 16813 | } else { |
| 16814 | _GM_xmlhttpRequest({ |
| 16815 | method: 'GET', |
| 16816 | url: dataset(node, 'src'), |
| 16817 | responseType: 'blob', |
| 16818 | onload: function(response) { |
| 16819 | let i = document.createElement("img"); |
| 16820 | if (response.response.type !== "text/html" && response.response.size > 1000) { |
| 16821 | const blobUrl = URL.createObjectURL(response.response); |
| 16822 | i.src = blobUrl; |
| 16823 | curNode.dataset.src = curNode.dataset.thumbSrc; |
| 16824 | popupImgWin(i); |
| 16825 | const releaseBlob = () => URL.revokeObjectURL(blobUrl); |
| 16826 | window.addEventListener('beforeunload', releaseBlob); |
| 16827 | } else { |
| 16828 | i.src = curNode.dataset.thumbSrc; |
| 16829 | curNode.dataset.src = curNode.dataset.thumbSrc; |
| 16830 | popupImgWin(i); |
| 16831 | } |
| 16832 | }, |
| 16833 | onerror: function() { |
| 16834 | let i = document.createElement("img"); |
| 16835 | i.src = curNode.dataset.thumbSrc; |
| 16836 | curNode.dataset.src = curNode.dataset.thumbSrc; |
| 16837 | popupImgWin(i); |
| 16838 | } |
| 16839 | }); |
| 16840 | } |
| 16841 | }; |
| 16842 | let loadImg = async() => { |
| 16843 | self.showTips("Loading image..."); |
| 16844 |
no test coverage detected