@mhg/blog
Version:
3 lines (2 loc) • 16.9 kB
JavaScript
;function _regenerator(){var e,t,n="function"==typeof Symbol?Symbol:{},o=n.iterator||"@@iterator",i=n.toStringTag||"@@toStringTag";function r(n,o,i,r){var s=o&&o.prototype instanceof l?o:l,c=Object.create(s.prototype);return _regeneratorDefine2(c,"_invoke",function(n,o,i){var r,l,s,c=0,u=i||[],d=!1,m={p:0,n:0,v:e,a:g,f:g.bind(e,4),d:function(t,n){return r=t,l=0,s=e,m.n=n,a}};function g(n,o){for(l=n,s=o,t=0;!d&&c&&!i&&t<u.length;t++){var i,r=u[t],g=m.p,p=r[2];n>3?(i=p===o)&&(s=r[(l=r[4])?5:(l=3,3)],r[4]=r[5]=e):r[0]<=g&&((i=n<2&&g<r[1])?(l=0,m.v=o,m.n=r[1]):g<p&&(i=n<3||r[0]>o||o>p)&&(r[4]=n,r[5]=o,m.n=p,l=0))}if(i||n>1)return a;throw d=!0,o}return function(i,u,p){if(c>1)throw TypeError("Generator is already running");for(d&&1===u&&g(u,p),l=u,s=p;(t=l<2?e:s)||!d;){r||(l?l<3?(l>1&&(m.n=-1),g(l,s)):m.n=s:m.v=s);try{if(c=2,r){if(l||(i="next"),t=r[i]){if(!(t=t.call(r,s)))throw TypeError("iterator result is not an object");if(!t.done)return t;s=t.value,l<2&&(l=0)}else 1===l&&(t=r["return"])&&t.call(r),l<2&&(s=TypeError("The iterator does not provide a '"+i+"' method"),l=1);r=e}else if((t=(d=m.n<0)?s:n.call(o,m))!==a)break}catch(t){r=e,l=1,s=t}finally{c=1}}return{value:t,done:d}}}(n,i,r),!0),c}var a={};function l(){}function s(){}function c(){}t=Object.getPrototypeOf;var u=[][o]?t(t([][o]())):(_regeneratorDefine2(t={},o,(function(){return this})),t),d=c.prototype=l.prototype=Object.create(u);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,c):(e.__proto__=c,_regeneratorDefine2(e,i,"GeneratorFunction")),e.prototype=Object.create(d),e}return s.prototype=c,_regeneratorDefine2(d,"constructor",c),_regeneratorDefine2(c,"constructor",s),s.displayName="GeneratorFunction",_regeneratorDefine2(c,i,"GeneratorFunction"),_regeneratorDefine2(d),_regeneratorDefine2(d,i,"Generator"),_regeneratorDefine2(d,o,(function(){return this})),_regeneratorDefine2(d,"toString",(function(){return"[object Generator]"})),(_regenerator=function(){return{w:r,m}})()}function _regeneratorDefine2(e,t,n,o){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}_regeneratorDefine2=function(e,t,n,o){function r(t,n){_regeneratorDefine2(e,t,(function(e){return this._invoke(t,n,e)}))}t?i?i(e,t,{value:n,enumerable:!o,configurable:!o,writable:!o}):e[t]=n:(r("next",0),r("throw",1),r("return",2))},_regeneratorDefine2(e,t,n,o)}function asyncGeneratorStep(e,t,n,o,i,r,a){try{var l=e[r](a),s=l.value}catch(e){return void n(e)}l.done?t(s):Promise.resolve(s).then(o,i)}function _asyncToGenerator(e){return function(){var t=this,n=arguments;return new Promise((function(o,i){var r=e.apply(t,n);function a(e){asyncGeneratorStep(r,o,i,a,l,"next",e)}function l(e){asyncGeneratorStep(r,o,i,a,l,"throw",e)}a(void 0)}))}}var RightMenus={defaultEvent:["copyText","copyLink","copyPaste","copyAll","copyCut","copyImg","printMode","readMode"],defaultGroup:["navigation","inputBox","seletctText","elementCheck","elementImage","articlePage"],messageRightMenu:volantis.GLOBAL_CONFIG.plugins.message.enable&&volantis.GLOBAL_CONFIG.plugins.message.rightmenu.enable,corsAnywhere:volantis.GLOBAL_CONFIG.plugins.rightmenus.options.corsAnywhere,urlRegx:/^((https|http)?:\/\/)+[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/,imgRegx:/\.(jpe?g|png|webp|svg|gif|jifi)(-|_|!|\?|\/)?.*$/,initialMenu:function(){RightMenus.fun.init(),volantis.pjax.send((function(){RightMenus.fun.hideMenu(),volantis.isReadModel&&RightMenus.fun.readMode()}))},readClipboard:function(){var e=_asyncToGenerator(_regenerator().m((function t(){var e,n,o;return _regenerator().w((function(t){for(;;)switch(t.n){case 0:return t.n=1,navigator.permissions.query({name:"clipboard-read"});case 1:n=t.v,o=n.state,t.n="granted"===o||"prompt"===o?2:4;break;case 2:return t.n=3,navigator.clipboard.readText();case 3:return e=t.v,t.a(3,5);case 4:return window.clipboardRead=!1,t.a(3,5);case 5:return t.a(2,e)}}),t)})));return function(){return e.apply(this,arguments)}}(),writeClipText:function(e){return navigator.clipboard.writeText(e).then((function(){return Promise.resolve()}))["catch"]((function(e){return Promise.reject(e)}))},writeClipImg:function(){var e=_asyncToGenerator(_regenerator().m((function t(e,n,o){var i;return _regenerator().w((function(t){for(;;)switch(t.n){case 0:(i=new Image).crossOrigin="Anonymous",i.addEventListener("load",(function(){var e=document.createElement("canvas"),t=e.getContext("2d");e.width=i.width,e.height=i.height,t.drawImage(i,0,0),e.toBlob((function(e){navigator.clipboard.write([new ClipboardItem({"image/png":e})]).then((function(e){n(e)}))["catch"]((function(e){o(e)}))}),"image/png")}),!1),i.src="".concat(e,"?(lll¬ω¬)");case 1:return t.a(2)}}),t)})));return function(t,n,o){return e.apply(this,arguments)}}(),insertAtCaret:function(e,t){var n=e.selectionStart,o=e.selectionEnd;if(document.selection)e.focus(),document.selection.createRange().text=t,e.focus();else if(n||"0"==n){var i=e.scrollTop;e.value=e.value.substring(0,n)+t+e.value.substring(o,e.value.length),e.focus(),e.selectionStart=n+t.length,e.selectionEnd=n+t.length,e.scrollTop=i}else e.value+=t,e.focus()}};RightMenus.fun=function(){var e=volantis.GLOBAL_CONFIG.plugins.rightmenus,t={},n=document.getElementById("rightmenu-wrapper"),o=document.getElementById("rightmenu-content"),i=document.querySelectorAll("#rightmenu-content li.menuLoad-Content"),r=document.querySelectorAll("#rightmenu-content li, #rightmenu-content hr, #menuMusic"),a=document.getElementById("read_bkg"),l=document.getElementById("menuMusic"),s=document.querySelector("#menuMusic .backward"),c=document.querySelector("#menuMusic .toggle"),u=document.querySelector("#menuMusic .forward"),d={mouseEvent:null,isInputBox:!1,selectText:"",inputValue:"",isLink:!1,linkUrl:"",isMediaLink:!1,mediaLinkUrl:"",isImage:!1,isArticle:!1,pathName:"",isReadClipboard:!0,isShowMusic:!1,statusCheck:!1},m=Object.assign({},d);return t.initEvent=function(){t.elementAppend(),t.contextmenu(),t.menuEvent()},t.elementAppend=function(){a&&a.parentNode.removeChild(a);var e=document.createElement("div");e.className="common_read_bkg common_read_hide",e.id="read_bkg",window.document.body.appendChild(e)},t.menuPosition=function(e){try{var i=e.clientX,r=e.clientY,a=document.documentElement.clientWidth||document.body.clientWidth,l=document.documentElement.clientHeight||document.body.clientHeight;n.style.display="block",t.menuControl(e);var s=o.offsetWidth,c=o.offsetHeight,u=i+s>a?i-s+10:i,d=r+c>l?r-c+10:r;d=r+c>l&&d<c&&r<c?d+(l-c-d-10):d,n.style.left="".concat(u,"px"),n.style.top="".concat(d,"px"),volantis.GLOBAL_CONFIG.plugins.message.rightmenu.notice&&t.menuNotic()}catch(m){return console.error(m),t.hideMenu(),!0}return!1},t.menuControl=function(n){t.globalDataSet(n),l&&(l.style.display=d.isShowMusic?"block":"none"),i.forEach((function(t){t.style.display="none";var n=t.firstElementChild.nodeName,o=t.firstElementChild.getAttribute("data-group"),i=t.firstElementChild.getAttribute("data-event");if(d.statusCheck||d.isArticle)switch(o){case"inputBox":d.isInputBox&&(t.style.display="block","copyCut"!==i||d.selectText||(t.style.display="none"),"copyAll"!==i||d.inputValue||(t.style.display="none"),"copyPaste"!==i||d.isReadClipboard||(t.style.display="none"));break;case"seletctText":d.selectText&&(t.style.display="block");break;case"elementCheck":(d.isLink||d.isMediaLink)&&(t.style.display="block");break;case"elementImage":d.isImage&&(t.style.display="block");break;case"articlePage":d.isArticle&&(t.style.display="block");break;default:t.style.display="A"===n?d.isArticle&&!d.statusCheck&&e.options.articleShowLink?"block":"none":"block"}else("A"===n||RightMenus.defaultGroup.every((function(e){return o!==e})))&&(t.style.display="block")})),volantis.mouseEvent=n,volantis.rightmenu.method.handle.start();var o={item:null,hide:!0};r.forEach((function(e){if("HR"===e.nodeName){if(e.style.display="block",!o.item)return void(o.item=e);(o.hide||"hr"===o.item.nextElementSibling.nodeName)&&(o.item.style.display="none"),o.item=e,o.hide=!0}else"block"===e.style.display&&o.hide&&(o.hide=!1)})),o.item&&o.hide&&(o.item.style.display="none")},t.globalDataSet=function(t){var n;(d=Object.assign({},m)).mouseEvent=t,d.selectText=window.getSelection().toString(),"input"!==t.target.tagName.toLowerCase()&&"textarea"!==t.target.tagName.toLowerCase()||(d.isInputBox=!0,d.inputValue=t.target.value),d.isInputBox&&!1===window.clipboardRead&&(d.isReadClipboard=!1),t.target.href&&RightMenus.urlRegx.test(t.target.href)&&(d.isLink=!0,d.linkUrl=t.target.href),t.target.currentSrc&&RightMenus.urlRegx.test(t.target.currentSrc)&&(d.isMediaLink=!0,d.mediaLinkUrl=t.target.currentSrc),d.isMediaLink&&RightMenus.imgRegx.test(d.mediaLinkUrl)&&(d.isImage=!0),document.querySelector("#post.article")&&(d.isArticle=!0,d.pathName=window.location.pathname),null!==(n=volantis.GLOBAL_CONFIG.plugins.aplayer)&&void 0!==n&&n.enable&&"undefined"!=typeof RightMenuAplayer&&RightMenuAplayer.APlayer.player!==undefined&&(e.options.musicAlwaysShow||"play"===RightMenuAplayer.APlayer.status||"undefined"===RightMenuAplayer.APlayer.status)&&(d.isShowMusic=!0),(d.selectText||d.isInputBox||d.isLink||d.isMediaLink)&&(d.statusCheck=!0)},t.contextmenu=function(){window.document.oncontextmenu=function(e){return e.ctrlKey||document.body.offsetWidth<=500?(t.hideMenu(),!0):t.menuPosition(e)},n.oncontextmenu=function(e){return e.stopPropagation(),e.preventDefault(),!1},window.removeEventListener("blur",t.hideMenu),window.addEventListener("blur",t.hideMenu),document.body.removeEventListener("click",t.hideMenu),document.body.addEventListener("click",t.hideMenu)},t.menuEvent=function(){i.forEach((function(n){var o=n.firstElementChild.getAttribute("data-event"),i=n.firstElementChild.getAttribute("id"),r=n.firstElementChild.getAttribute("data-group");"A"!==n.firstElementChild.nodeName&&n.addEventListener("click",(function(){try{RightMenus.defaultEvent.every((function(e){return o!==e}))?"seletctText"===r?RightMenusFunction[i](d.selectText):"elementCheck"===r?RightMenusFunction[i](d.isLink?d.linkUrl:d.mediaLinkUrl):"elementImage"===r?RightMenusFunction[i](d.mediaLinkUrl):RightMenusFunction[i]():t[o]()}catch(n){"rightMenus"===volantis.GLOBAL_CONFIG.debug&&console.error({id:i,error:n,globalData:d,groupName:r,eventName:o}),RightMenus.messageRightMenu&&VolantisApp.message("错误提示",n,{icon:e.options.iconPrefix+" fa-exclamation-square red",time:"15000"})}}))})),u&&c&&u&&(s.onclick=function(e){e.preventDefault(),e.stopPropagation(),RightMenuAplayer.aplayerBackward()},c.onclick=function(e){e.preventDefault(),e.stopPropagation(),RightMenuAplayer.aplayerToggle()},u.onclick=function(e){e.preventDefault(),e.stopPropagation(),RightMenuAplayer.aplayerForward()})},t.hideMenu=function(){n.style.display=null,n.style.left=null,n.style.top=null},t.menuNotic=function(){var t="true"===localStorage.getItem("NoticeRightMenu");RightMenus.messageRightMenu&&!t&&VolantisApp.message("右键菜单","唤醒原系统菜单请使用:<kbd>Ctrl</kbd> + <kbd>右键</kbd>",{icon:e.options.iconPrefix+" fa-exclamation-square red",displayMode:1,time:9e3},(function(){localStorage.setItem("NoticeRightMenu","true")}))},t.copyText=function(){VolantisApp.utilWriteClipText(d.selectText).then((function(){RightMenus.messageRightMenu&&VolantisApp.messageCopyright()}))["catch"]((function(t){RightMenus.messageRightMenu&&VolantisApp.message("系统提示",t,{icon:e.options.iconPrefix+" fa-exclamation-square red",displayMode:1,time:9e3})}))},t.copyLink=function(){VolantisApp.utilWriteClipText(d.linkUrl||d.mediaLinkUrl).then((function(){RightMenus.messageRightMenu&&VolantisApp.messageCopyright()}))["catch"]((function(t){RightMenus.messageRightMenu&&VolantisApp.message("系统提示",t,{icon:e.options.iconPrefix+" fa-exclamation-square red",displayMode:1,time:9e3})}))},t.copyAll=function(){d.mouseEvent.target.select()},t.copyPaste=_asyncToGenerator(_regenerator().m((function g(){var e,t;return _regenerator().w((function(n){for(;;)switch(n.n){case 0:return n.n=1,RightMenus.readClipboard();case 1:if(t=n.v){n.n=2;break}t="";case 2:e=t,RightMenus.messageRightMenu&&!1===window.clipboardRead?VolantisApp.message("系统提示","未授予剪切板读取权限!"):RightMenus.messageRightMenu&&""===e?VolantisApp.message("系统提示","仅支持复制文本内容!"):RightMenus.insertAtCaret(d.mouseEvent.target,e);case 3:return n.a(2)}}),g)}))),t.copyCut=function(){var e=d.mouseEvent.target.selectionStart,n=d.mouseEvent.target.selectionEnd,o=d.inputValue;t.copyText(d.selectText),d.mouseEvent.target.value=o.substring(0,e)+o.substring(n,o.length),d.mouseEvent.target.selectionStart=e,d.mouseEvent.target.selectionEnd=e,d.mouseEvent.target.focus()},t.copyImg=function(){volantis.GLOBAL_CONFIG.plugins.message.rightmenu.notice&&VolantisApp.message("系统提示","复制中,请等待。",{icon:e.options.iconPrefix+" fa-images"}),RightMenus.writeClipImg(d.mediaLinkUrl,(function(t){RightMenus.messageRightMenu&&(VolantisApp.hideMessage(),VolantisApp.message("系统提示","图片复制成功!",{icon:e.options.iconPrefix+" fa-images"}))}),(function(t){console.error(t),RightMenus.messageRightMenu&&(VolantisApp.hideMessage(),VolantisApp.message("系统提示","复制失败:"+t,{icon:e.options.iconPrefix+" fa-exclamation-square red",time:9e3}))}))},t.printMode=function(){if(window.location.pathname===d.pathName)if(RightMenus.messageRightMenu){VolantisApp.question("",'是否打印当前页面?<br><em style="font-size: 80%">建议打印时勾选背景图形</em><br>',{time:9e3},(function(){t.printHtml()}))}else t.printHtml()},t.printHtml=function(){volantis.isReadModel&&t.readMode(),DOMController.setAttribute("details","open","true"),DOMController.removeList([".cus-article-bkg",".iziToast-overlay",".iziToast-wrapper",".prev-next","footer","#l_header","#l_cover","#l_side","#comments","#s-top","#BKG","#rightmenu-wrapper",".nav-tabs",".parallax-mirror",".new-meta-item.share",".new-meta-box","button.btn-copy","iframe"]),DOMController.setStyleList([["body","backgroundColor","unset"],["#l_main, .copyright.license","width","100%"],["#post","boxShadow","none"],["#post","background","none"],["#post","padding","0"],["h1","textAlign","center"],["h1","fontWeight","600"],["h1","fontSize","2rem"],["h1","marginBottom","20px"],[".tab-pane","display","block"],[".tab-content","borderTop","none"],[".highlight>table pre","whiteSpace","pre-wrap"],[".highlight>table pre","wordBreak","break-all"],[".fancybox img","height","auto"],[".fancybox img","weight","auto"],[".copyright.license","margin","0"],[".copyright.license","padding","1.25em 20px"],["figure.highlight, .copyright.license","display","inline-block"]]),setTimeout((function(){window.print(),document.body.innerHTML="",window.location.reload()}),50)},t.readMode=function(){"function"==typeof ScrollReveal&&ScrollReveal().clean("#comments"),DOMController.setStyle("#l_header","opacity",0),DOMController.fadeToggleList([document.querySelector("#l_cover"),document.querySelector("footer"),document.querySelector("#s-top"),document.querySelector(".article-meta#bottom"),document.querySelector(".prev-next"),document.querySelector("#l_side"),document.querySelector("#comments")]),DOMController.toggleClassList([[document.querySelector("#l_main"),"common_read"],[document.querySelector("#l_main"),"common_read_main"],[document.querySelector("#l_body"),"common_read"],[document.querySelector("#safearea"),"common_read"],[document.querySelector("#pjax-container"),"common_read"],[document.querySelector("#read_bkg"),"common_read_hide"],[document.querySelector("h1"),"common_read_h1"],[document.querySelector("#post"),"post_read"],[document.querySelector("#l_cover"),"read_cover"],[document.querySelector(".widget.toc-wrapper"),"post_read"]]),DOMController.setStyle(".copyright.license","margin","15px 0"),volantis.isReadModel=volantis.isReadModel===undefined||!volantis.isReadModel,volantis.isReadModel?(RightMenus.messageRightMenu&&VolantisApp.message("系统提示","阅读模式已开启,您可以点击屏幕空白处退出。",{backgroundColor:"var(--color-read-post)",icon:e.options.iconPrefix+" fa-book-reader",displayMode:1,time:5e3}),document.querySelector("#l_body").removeEventListener("click",t.readMode),document.querySelector("#l_body").addEventListener("click",(function(e){DOMController.hasClass(e.target,"common_read")&&t.readMode()}))):(document.querySelector("#l_body").removeEventListener("click",t.readMode),document.querySelector("#post").removeEventListener("click",t.readMode),DOMController.setStyle(".prev-next","display","flex"),DOMController.setStyle(".copyright.license","margin","15px -40px"))},{init:t.initEvent,hideMenu:t.hideMenu,readMode:t.readMode}}(),Object.freeze(RightMenus),volantis.requestAnimationFrame((function(){"loading"!==document.readyState?RightMenus.initialMenu():document.addEventListener("DOMContentLoaded",(function(){RightMenus.initialMenu()}))}));
//# sourceMappingURL=../../maps/js/plugins/rightMenus.js.map