/* Proxomitron - Deutsche Distribution - Profi-Edition * * Diese Datei gehört zu den Skriptkontroll-Funktionen der Profi-Edition. * * Stand: 04.04.2005 * * Michael Bürschgens (http://www.buerschgens.de/Prox/) */ function ProxClearEventsKeyb(a) { if (!a) return; a.onkeydown = null; a.onkeypress = null; a.onkeyup = null; } function ProxClearEventsWinFocBlur(a) { if (!a) return; a.onblur = null; a.onfocus = null; } function ProxClearEventsWinMoveRes(a) { if (!a) return; a.onmove = null; a.onresize = null; if (ProxBrowserType == "IE") { a.onmoveend = null; a.onmovestart = null; a.onresizeend = null; a.onresizestart = null; } } function ProxClearEventsPageUnload(a) { if (!a) return; a.onunload = null; if (ProxBrowserType == "Gecko") { a.onclose = null; } if (ProxBrowserType == "IE") { a.onbeforeunload = null; } } function ProxClearEventsPageLoad(a) { if (!a) return; a.onload = null; } function ProxClearEventsAbortLoad(a) { if (!a) return; a.onabort = null; } function ProxClearEventsSelElem(a) { if (!a) return; a.onselect = null; if (ProxBrowserType == "IE") { a.onselectstart = null; a.onselectionchange = null; } } function ProxClearEventsDragElem(a) { if (!a) return; if (ProxBrowserType == "Gecko") { a.ondragdrop = null; a.ondragenter = null; a.ondragover = null; a.ondragexit = null; a.ondraggesture = null; } if (ProxBrowserType == "IE") { a.ondrag = null; a.ondragstart = null; a.ondragend = null; a.ondragenter = null; a.ondragleave = null; a.ondragover = null; a.ondrop = null; } } function ProxClearEventsMouseMove(a) { if (!a) return; a.onmousemove = null; } function ProxClearEventsMouseClick(a) { if (!a) return; a.onclick = null; a.ondblclick = null; } function ProxClearEventsMouseOver(a) { if (!a) return; if (ProxBrowserType == "Gecko") { a.removeAttribute("onmouseover"); a.removeAttribute("onmouseout"); } else { a.onmouseover = null; a.onmouseout = null; } } function ProxClearEventsMouseDownUp(a) { if (!a) return; a.onmousedown = null; a.onmouseup = null; if (ProxBrowserType == "IE" || ProxBrowserType == "Gecko") { a.oncontextmenu = null; } } function ProxClearEventsPrint(a) { if (!a) return; a.onprint = null; if (ProxBrowserType == "IE") { a.onbeforeprint = null; a.onafterprint = null; } } function ProxClearEventsClipboard(a) { if (!a) return; if (ProxBrowserType == "IE") { a.onbeforecopy = null; a.onbeforecut = null; a.oncopy = null; a.oncut = null; } } /* Funktion zum Löschen aller durch die aktuelle Seite gespeicherten Cookies. * Da Cookies sowohl über HTTP-Header als auch durch Skriptfunktionen erzeugt und * ausgelesen werden können, ist diese Funktion nur in Verbindung mit einem * entsprechenden Headerfilter sinnvoll. * Die Steuerung erfolgt deshalb nicht über einen separaten Steuerfilter, * sondern über die Headerfilter gegen Cookies. */ function ProxCookiesKill() { // Cookie-Killer aus Bookmarklet von Nontroppo --> http://nontroppo.org/wiki/BookMarklets var cookieString = document.cookie.split("; "); for(cookieHost="."+location.host; cookieHost; cookieHost=(""+cookieHost).substr(1).match(/\..*$/)) { for(sl=0; sl<2; ++sl) { for(cookiePath="/"+location.pathname; cookiePath; cookiePath=cookiePath.substring(0,cookiePath.lastIndexOf('/'))) { for(i in cookieString) { if(cookieWert=cookieString[i]) { document.cookie = cookieWert + "; domain=" + cookieHost.slice(sl) + "; path=" + cookiePath.slice(1) + "/" + "; expires=" + new Date((new Date).getTime()-1e11).toGMTString(); } } } } } } function ProxMMFlashStop() { if (ProxBrowserType == "IE") { var FlObj = document.getElementsByTagName("object"); var FlEmb = document.getElementsByTagName("embed"); for (i=0; i= 20) { var ProxFehler_MeldungE1 = "Proxomitron-Warnung:\nDas Start-Skript hat nicht innerhalb des zulaessigen Zeitraums reagiert.\nDies ist ein ernstzunehmendes Problem, dessen Ursache beseitigt werden muss.\nDie Skriptfilterung kann in diesem Zustand nicht funktionieren.\n\nDiagnosedaten:\n"; ProxFehler_MeldungE1 += "Ort: End-Skript; PSSC: " + typeof ProxSuccessStartCode + " : "; if (typeof ProxSuccessStartCode == "string") { ProxFehler_MeldungE1 += ProxSuccessStartCode; } else { ProxFehler_MeldungE1 += "kein String"; } ProxFehler_MeldungE1 += "\nURL: " + location.href; if (typeof ProxSK_windowAlert != "undefined") { return ProxSK_windowAlert(ProxFehler_MeldungE1); } else { return window.alert(ProxFehler_MeldungE1); } } else { ProxEndVersuche++; return window.setTimeout("ProxEndTry();",200); } } ProxEndTry(); /* Allgemein verwendbare Funktion zum Auswechseln von CSS-Klassen. * * Beispiel: * ProxDOMSwapClassName ("table","alteKlasse","neueKlasse"); * * Bei diesem Aufruf würde die Funktion alle Tags auf der aktuellen Seite durchlaufen * und bei jedem prüfen, ob für ihn eine Klasse namens "alteKlasse" angegeben ist. * Bei allen Tags auf die das zutrifft, wird dann die Klassenangabe auf "neueKlasse" geändert. * Der Vorgang geschieht dynamisch im Browser und bewirkt somit eine sofortige Veränderung * der Formatierung. */ function ProxDOMSwapClassName (tag, classOld, classNew) { var tagArray = document.getElementsByTagName(tag); for (var i = 1; i <= tagArray.length; i++) { if (tagArray[i-1].className == classOld) { tagArray[i-1].className = classNew; } } } /* "Tastschalter"-Funktion für TrollCollect. * Bei jedem Aufruf wird zwischen zwei möglichen Klassenangaben gewechselt. Der Austausch * erfolgt über die Funktion "ProxDOMSwapClassName". Da der Ist-Wert gespeichert wird, * verhält sich die Funktion wie ein Wechselschalter. */ var proxHeiseTCShow = false; function proxHeiseTCToggle () { if (proxHeiseTCShow == false) { ProxDOMSwapClassName ("tr","ProxHeiseTCTroll","ProxHeiseTCTrollShow"); proxHeiseTCShow = true; } else { ProxDOMSwapClassName ("tr","ProxHeiseTCTrollShow","ProxHeiseTCTroll"); proxHeiseTCShow = false; } } /* Funktion zum Hinzufügen von Listeneinträgen */ function ProxListWriter(aufrufer,liste,daten) { if(document.images) { (new Image()).src="http://listwriter.local/"+liste+"/?"+daten; // Häkchen-Symbol hinzufuegen var objektBild = document.createElement("img"); objektBild.setAttribute("src","http://local.ptron/SymbChkGn1.png"); aufrufer.appendChild(objektBild); // Schrift ausgrauen aufrufer.style.color = "gray"; // Mehrfachklicks verhindern aufrufer.onclick = null; } return true; }