您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
add the development menu to formservers
- // ==UserScript==
- // @name afs formserver development menu
- // @namespace com.aforms2web.ds.ujs
- // @description add the development menu to formservers
- // @include *afs_*.do*
- // @include *vav_*.do*
- // @include *formserver*.do*
- // @version 1.0
- // @grant none
- // ==/UserScript==
- var js_forceTimeoutOverlay = "showTimeoutWarning('<h2>Timeout Warnung</h2><p>Ihre Session wird in 1 Minute ablaufen!</p>','Ok');";
- var elem = document.createElement("div");
- elem.id = 'xMy_menu';
- elem.innerHTML = '<strong title="my development options">µ ⚒ ⌥</strong>' //[my dev menu]
- + '<span class="xMy_tool" title="Add Toggler to all Blocks" style="position: relative; top: -1px; left: 1px;" onclick="xMy_add_blocktoggler();">◈</span>'
- + '<span class="xMy_tool" title="Toggle all BlockContent visibilities" style="transform: rotate(-90deg);" onclick="xMy_toggle_allBlocks();">➠</span>'
- + '<span class="xMy_tool" title="Remove Toggler from all Blocks" style="font-size: 12px; margin-top:0px;" onclick="xMy_removeAllToggler();">♻</span>'
- + '<span class="xMy_sep">|</span>'
- + '<span class="xMy_tool" title="Click \'previous\' button" onclick="document.getElementById(\'previous\').click();">⤺</span>'
- + '<span class="xMy_tool" title="Click \'next\' button" onclick="document.getElementById(\'next\').click();">⤳</span>'
- + '<span class="xMy_tool" title="Jump to Navigationbar" style="transform: rotate(180deg);" onclick="document.getElementById(\'control_bar\').scrollIntoView();">↸</span>'
- + '<ul>'
- + '<li><span onclick="xMy_add_blocktoggler()" >Add Toggler to all Blocks</span></li>'
- + '<li><span onclick="xMy_toggle_allBlocks()" >Toggle all BlockContent visibilities</span></li>'
- + '<li><span onclick="xMy_removeAllToggler()" >Remove Toggler from all Blocks</span></li>'
- + '<li><span onclick="document.getElementById(\'next\').click();" >Click \'next\' button</span></li>'
- + '<li><span onclick="document.getElementById(\'previous\').click();" >Click \'previous\' button</span></li>'
- + '<li><span onclick="document.getElementById(\'control_bar\').scrollIntoView();" >jump to Navigationbar</span></li>'
- + '<li><span onclick="' + js_forceTimeoutOverlay + '" >force timeout overlay</span></li>'
- + '<li><span onclick="xMy_bodyPaddingRight(80)" >body padding-right:80% / redo</span></li>'
- + '</ul>';
- document.body.appendChild(elem);
- var script = document.createElement("script");
- script.setAttribute("type", "text/javascript");
- script.innerHTML = 'var xMy_bodyPaddingRightOrig = "notSet";'
- + 'function xMy_bodyPaddingRight(size){'
- + ' var bdy = document.getElementsByTagName("body")[0];'
- + ' if(xMy_bodyPaddingRightOrig == "notSet"){ xMy_bodyPaddingRightOrig = bdy.style.paddingRight; bdy.style.paddingRight = size + "%"; }'
- + ' else{ bdy.style.paddingRight = xMy_bodyPaddingRightOrig; xMy_bodyPaddingRightOrig = "notSet"; }'
- + '}';
- document.head.appendChild(script);
- var style = document.createElement("style");
- style.setAttribute("type", "text/css");
- style.innerHTML = '#xMy_menu { position: fixed; top: -1px; text-align: center; width:20em; left: 50%; margin-left: -10em; font-size:66%; border: 1px dotted rgba(77,77,144,0.66); border-radius: 0 0 0.66em 0.66em; background-color: rgba(222,222,222,0.75); color: #999999; z-index: 99999; } '
- + '#xMy_menu:hover { background-color: rgba(222,222,222,0.90); border-color: #339933; box-shadow: 2px 2px 5px 1px #339933; color: #333333; } '
- + '#xMy_menu ul { display: none; margin: 0.25em 0.25em 0.25em 1em; text-align: left; border-top: 1px dashed rgba(77,77,144,0.66); padding: 0.33em; } #xMy_menu:hover ul { display: block; } '
- + '#xMy_menu strong { font-weight: normal; font-style: italic; color: #339933; } '
- + '#xMy_menu strong:after { content: " ]"; color: #999999; } '
- + '#xMy_menu strong:before { content: "[ "; color: #999999; } '
- + '#xMy_menu span { cursor: pointer; } '
- + '#xMy_menu span:hover { text-decoration: underline; color: #339933; } '
- + '#xMy_menu span.xMy_sep { float: left; margin: -3px 1px; color: #999999; font-size: 14px; cursor: default; } '
- + '#xMy_menu span.xMy_tool:hover { text-decoration: none; } '
- + '#xMy_menu span.xMy_tool { float: left; font-size: 16px; margin: -3px 1px; } ';
- document.head.appendChild(style);
- // new part
- var xMy_css = new Array();
- function xMy_writeStyle(css) {
- var style = document.createElement('style');
- style.type = 'text/css';
- if (document.getElementsByTagName) {
- document.getElementsByTagName('head')[0].appendChild(style);
- if (style.sheet && style.sheet.insertRule) {
- for (var i = 0; i < xMy_css.length; i++) {
- style.sheet.insertRule(xMy_css[i], 0);
- }
- }
- }
- }
- function xMy_addStyle(style) {
- xMy_css[xMy_css.length] = style;
- }
- // Define your CSS here
- xMy_addStyle(".xMy_blockListToggle{"
- + " margin: 0 7px 0 -7px !important;"
- + " color: #333333;"
- + " cursor: pointer;"
- + " position: relative;"
- + " top: -2px;"
- + " font-size: 16px;"
- + "}");
- xMy_addStyle(".xMy_blockListToggle:hover{"
- + " color: #339933;"
- + " text-shadow: 1.75px 1.25px 1px #333333;"
- + "}");
- // Writes CSS to the document
- xMy_writeStyle(xMy_css);
- var newScript = document.createElement("script");
- var typeNode = document.createAttribute("type");
- typeNode.nodeValue = "text/javascript";
- newScript.setAttributeNode(typeNode);
- newScript.appendChild(document.createTextNode(""
- + "function xMy_toggle_blockList(elem, forceShow) {\n"
- + " var blockHeaderNode = elem.parentNode.parentNode.parentNode.parentNode.parentNode;\n"
- + " var blockContentNode = blockHeaderNode;\n"
- + " do {\n"
- + " blockContentNode = blockContentNode.nextSibling;\n"
- + " } while(blockContentNode.tagName == null || !(blockContentNode.tagName === 'DIV' || blockContentNode.tagName === 'div'));\n"
- + " if(forceShow || blockContentNode.style.display != 'block') {\n"
- + " blockContentNode.style.display = 'block';\n"
- + " elem.childNodes[0].nodeValue = '▲';\n" // ▲△
- + " } else {\n"
- + " blockContentNode.style.display = 'none';\n"
- + " elem.childNodes[0].nodeValue = '▼';\n" // ▼▽
- + " }\n"
- + "}\n"
- + "function xMy_toggle_allBlocks() {\n"
- + " if(!xMy_hasToggler()){\n"
- + " xMy_add_blocktoggler();\n"
- + " }\n"
- + " var elemList = document.getElementsByClassName('xMy_blockListToggle');\n"
- + " if(elemList != null && elemList.length > 0){\n"
- + " for(idx = elemList.length - 1; idx >= 0; idx--) {\n"
- + " xMy_toggle_blockList(elemList[idx]);\n"
- + " }\n"
- + " }\n"
- + "}\n"
- + "function xMy_removeAllToggler() {\n"
- + " var elemList = document.getElementsByClassName('xMy_blockListToggle');\n"
- + " if(elemList != null && elemList.length > 0){\n"
- + " for(idx = elemList.length - 1; idx >= 0; idx--) {\n"
- + " var elem = elemList[idx];\n"
- + " if(elem.tagName != null && (elem.tagName === 'SPAN' || elem.tagName === 'span')){\n"
- + " xMy_toggle_blockList(elem, true);\n"
- + " elem.parentNode.removeChild(elem);\n"
- + " }\n"
- + " }\n"
- + " }\n"
- + "}\n"
- + "function xMy_hasToggler() {\n"
- + " var elemList = document.getElementsByClassName('xMy_blockListToggle');\n"
- + " return elemList != null && elemList.length > 0;\n"
- + "}\n"
- + "function xMy_add_blocktoggler() {\n"
- + " if(!xMy_hasToggler()){\n"
- + " var blockList = document.getElementsByClassName('block'); \n"
- + " if(blockList != null && blockList.length > 0){\n"
- // ### Generate Toggle Link
- + " for(idx = blockList.length - 1; idx >= 0; idx--){\n"
- + " var block = blockList[idx];\n"
- + " if(block.tagName != null && (block.tagName === 'DIV' || block.tagName === 'div')){\n"
- + " var blockHeader = block.childNodes[1].childNodes[1].childNodes[1].childNodes[1].childNodes[1].childNodes[1];\n"
- + " var newSpan = document.createElement('span');\n"
- + " var attrNode = document.createAttribute('class');\n"
- + " attrNode.nodeValue = 'xMy_blockListToggle';\n"
- + " newSpan.setAttributeNode(attrNode);\n"
- + " var titleNode = document.createAttribute('title');\n"
- + " titleNode.nodeValue = 'Toggle BlockContent visibility';\n"
- + " newSpan.setAttributeNode(titleNode);\n"
- + " var onclickNode = document.createAttribute('onclick');\n"
- + " onclickNode.nodeValue = 'xMy_toggle_blockList(this);';\n"
- + " newSpan.setAttributeNode(onclickNode);\n"
- + " newSpan.appendChild(document.createTextNode('▲'));\n"
- + " blockHeader.insertBefore(newSpan, blockHeader.childNodes[1]);\n"
- + " }\n"
- + " }\n"
- + " }\n"
- + " }\n"
- + "} "));
- document.getElementsByTagName('head')[0].appendChild(newScript);