anwendungen_und_sonstiges:greasemonkey_-_blizzard-forumbeitrag_zu_zwischenablage
Dies ist eine alte Version des Dokuments!
Greasemonkey - Blizzard-Forumsbeitrag zu Zwischenablage
Noch unfertig!
// ==UserScript== // @name get blizzard-forum entry to clipboard // @namespace rldml // @include /^https?://eu\.battle\.net/d3/(de|en)/forum/.*$/ // @version 1 // @grant none // ==/UserScript== var varDebug = true; var varSinglePost; var ATag var varStringToCopy = "Test"; var varPostList = document.getElementById('post-list'); if (varDebug == true) console.log ('GetElementByID: varPostList = ' + varPostList); for (i=0; i<varPostList.children.length; i++) { varSinglePost = varPostList.children[i]; if (varDebug == true) console.log('Select Post No. ' + i + ' with Id ' + varSinglePost.getAttribute('data-post-id') + ': ' + varSinglePost); varStringToCopy = varSinglePost.children[1].children[1].children[0].innerHTML; varATag = document.createElement('a'); varATag.setAttribute('href','javascript:copyToClipboard(\''+varStringToCopy+'\');'); varATag.setAttribute('id','GM' + varSinglePost.getAttribute('data-post-id')); varATag.innerHTML = "COPY"; varSinglePost.children[1].children[2].children[0].appendChild(varATag); } varScript = document.createElement('script'); varScript.setAttribute('type','text/javascript'); varScript.innerHTML = "function copyToClipboard(text) {\nvarPostList = document.getElementById('detail');\nvarPostList.value=convertText2(text);\n}"; varPostList.appendChild(varScript); varScript = document.createElement('script'); varScript.setAttribute('type','text/javascript'); varScript.innerHTML = "function quotestr(quoteLevel) {\n\tqstr = \"\";\tfor (j = 1; j <= quoteLevel; j++) {\n\t\tqstr += \">\";\n\t}\n\treturn (qstr);\n}"; varPostList.appendChild(varScript); varScript = document.createElement('script'); varScript.setAttribute('type','text/javascript'); varScript.innerHTML = "function convertText2(varText)\r\n{\r\n var Text = [];\r\n var RestText = varText;\r\n do {\r\n FoundSomething = false;\r\n positionTag = -1;\r\n positionTag = RestText.indexOf(\"<\");\r\n if (positionTag != -1) {\r\n FoundSomething = true;\r\n if (positionTag == 0)\r\n {\r\n positionTagEnd = -1;\r\n positionTagEnd = RestText.indexOf(\">\") + 1;\r\n Text.push(RestText.substring(0, positionTagEnd));\r\n RestText = RestText.substring(positionTagEnd);\r\n } else\r\n {\r\n positionTagEnd = -1;\r\n positionTagEnd = RestText.indexOf(\"<\");\r\n Text.push(RestText.substring(0, positionTagEnd));\r\n RestText = RestText.substring(positionTagEnd);\r\n }\r\n } else {\r\n Text.push(RestText);\r\n RestText = \"\";\r\n }\r\n } while (FoundSomething == true && RestText.length > 0);\r\n var actQBLevel = 0;\r\n var ignoreBecauseSpan = false;\r\n var varText = \"\";\r\n for (i = 0; i < Text.length ; i++)\r\n {\r\n if (Text[i].indexOf(\"<blockquote\") != -1)\r\n {\r\n actQBLevel++;\r\n continue;\r\n }\r\n if (Text[i].indexOf(\"<\/blockquote\") != -1)\r\n {\r\n actQBLevel--;\r\n continue;\r\n }\r\n if (Text[i].indexOf(\"<div\") != -1)\r\n {\r\n varText += \"<br>\" + quotestr(actQBLevel);\r\n continue;\r\n }\r\n if (Text[i].indexOf(\"<\/div\") != -1)\r\n {\r\n varText += \"<br>\" + quotestr(actQBLevel);\r\n continue;\r\n }\r\n if (Text[i].indexOf(\"<b>\") != -1 || Text[i].indexOf(\"<\/b>\") != -1)\r\n {\r\n varText += \"**\";\r\n continue;\r\n }\r\n if (Text[i].indexOf(\"<span\") != -1)\r\n {\r\n varText += \"\/\/\";\r\n continue;\r\n }\r\n if (Text[i].indexOf(\"<\/span\") != -1)\r\n {\r\n varText += \"\/\/ \";\r\n continue;\r\n }\r\n if (Text[i].indexOf(\"<a\") != -1)\r\n {\r\n varText += \"[[\";\r\n hrefPos = Text[i].indexOf(\"href=\\\"\");\r\n hrefPostStart = hrefPos + 6;\r\n hrefPostEnd = (Text[i].indexOf(\"\\\"\", hrefPostStart));\r\n urlRef = Text[i].substring(hrefPostStart, hrefPostEnd);\r\n baseURL = location.href;\r\n baseURLTopic = (baseURL.lastIndexOf(\"\/\")) + 1;\r\n baseURL = baseURL.substring(0, baseURLTopic);\r\n varText += baseURL + urlRef + \"|\";\r\n continue;\r\n }\r\n if (Text[i].indexOf(\"<\/a\") != -1)\r\n {\r\n varText += \"]]\";\r\n continue;\r\n }\r\n if (Text[i].indexOf(\"<br\") != -1)\r\n {\r\n varText += \"<br>\" + quotestr(actQBLevel);\r\n continue;\r\n }\r\n if (varText == \"\")\r\n {\r\n varText += quotestr(actQBLevel) + Text[i];\r\n } else\r\n {\r\n varText += Text[i];\r\n }\r\n }\r\n return (varText);\r\n}"; varPostList.appendChild(varScript);
anwendungen_und_sonstiges/greasemonkey_-_blizzard-forumbeitrag_zu_zwischenablage.1447759545.txt.gz · Zuletzt geändert: 2016/04/02 00:37 (Externe Bearbeitung)