Benutzer-Werkzeuge

Webseiten-Werkzeuge


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 += \"\/\/&nbsp;\";\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)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki