{"id":3451,"date":"2016-02-28T12:05:40","date_gmt":"2016-02-28T11:05:40","guid":{"rendered":"https:\/\/u-labs.de\/portal\/?p=3451"},"modified":"2016-02-28T15:46:32","modified_gmt":"2016-02-28T14:46:32","slug":"vbulletin-4-fehlerhafte-bestaetigung-zum-verlassen-beim-posten-ausblenden","status":"publish","type":"post","link":"https:\/\/u-labs.de\/portal\/vbulletin-4-fehlerhafte-bestaetigung-zum-verlassen-beim-posten-ausblenden\/","title":{"rendered":"vBulletin 4: Fehlerhafte Best\u00e4tigung zum Verlassen beim posten ausblenden"},"content":{"rendered":"<p>Wenn man in vBulletin 4 mit dem Verfassen eines Beitrages beginnt und anschlie\u00dfend navigieren m\u00f6chte (z.B. Klick auf einen Link),\u00a0erscheint eine Warnmeldung. Die Idee dahinter ist grunds\u00e4tzlich nicht schlecht: M\u00f6chte man schlie\u00dflich nicht den Inhalt des Beitrages bzw. m\u00f6glicherweise durch den Autosave-Intervall einen Teil davon verlieren, wenn man irrt\u00fcmlich einen Link angeklickt hat.<\/p>\n<p>Doch dieses Feature scheint in vBulletin 4 verbuggt zu sein. Verfasst man \u00fcber die <em>Schnell-Antworten <\/em>Funktion (also das Editor-Feld unter dem letzten Beitrag)\u00a0eine\u00a0neue Antwort\u00a0und klickt auf absenden, wird ebenfalls folgende Meldung angezeigt:<\/p>\n<blockquote><p>Diese Seite bittet Sie zu best\u00e4tigen, dass Sie die Seite verlassen m\u00f6chten &#8211; Daten, die Sie eingegeben haben, werden unter Umst\u00e4nden nicht gespeichert.<\/p><\/blockquote>\n<p>Wobei dies nicht regelm\u00e4\u00dfig passiert, sondern nur sporadisch. Es scheint kein Muster zu geben, was die betroffenen Themen, Nutzer oder Browser angeht. Dieses Problem ist bei vBulletin <a href=\"http:\/\/www.vbulletin.com\/forum\/forum\/vbulletin-4\/vbulletin-4-questions-problems-and-troubleshooting\/391959-quick-reply-asks-whether-user-wants-to-leave-or-stay-on-every-quick-reply-made\" target=\"_blank\" rel=\"nofollow\">seit 2011 bekannt<\/a>, scheint aber nicht behoben worden zu sein. Die einzige L\u00f6sung besteht daher in einem manuellen Workaround durch\u00a0das manuelle bearbeiten der JavaScript-Dateien.<\/p>\n<p>Der betroffene Code befindet sich in der Datei\u00a0<strong>includes\/vbulletin_textedit.js<\/strong>.\u00a0Da die JavaScript-Dateien von vBulletin standardm\u00e4\u00dfig komprimiert ausgeliefert werden, kann hier keine sinnvolle Zeilenangabe gemacht werden. Stattdessen muss nach<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nif(A){YAHOO.util.Event.addListener(window,&quot;beforeunload&quot;,this.exit_prompt,this,true)}\r\n<\/pre>\n<p>gesucht werden. Dazu gen\u00fcgt das \u00d6ffnen der Datei mit einem Texteditor (z.B. Notepad++) und die Verwendung der Suche-Funktion. Diese If-Abfrage muss auskommentiert oder entfernt werden, um den unerw\u00fcnschten Dialog zu verhindern. Laut anderen betroffenen soll bereits das Ab\u00e4ndern des letzten Parameters von\u00a0<strong>true<\/strong> auf\u00a0<strong>false<\/strong> bereits helfen, was ich allerdings nicht best\u00e4tigen kann.<\/p>\n<p>Der gro\u00dfe Nachteil an dieser L\u00f6sung ist nat\u00fcrlich die Ver\u00e4nderung des Cores. Bei jedem Update muss sie erneut vorgenommen werden, da ansonsten das Problem wieder auftritt &#8211; au\u00dfer vBulletin sollte dies in einem Update beheben. Wobei dies in Anbetracht der Tatsache, dass dieser Fehler scheinbar seit 5 Jahren existiert, eher nicht zu erwarten ist. Andererseits ist das ignorieren dieses nervigen Fehlers auch keine Option. Daher ist es empfehlenswert, diesen Workaround zumindest zu dokumentieren. So wird er bei einem Update nicht vergessen.<\/p>\n<p>Um Caching-Probleme zu verhindern, macht es au\u00dferdem Sinn, einen Caching-Key zu setzen. Im Template\u00a0<strong>SHOWTHREAD<\/strong> wird dazu der\u00a0<strong>v<\/strong> Parameter des Scriptes\u00a0<strong>vbulletin_textedit.js<\/strong> ge\u00e4ndert. Beispielsweise\u00a0<strong>v=1<\/strong>. Dadurch laden die meisten Browser die Datei neu, wodurch verhindert wird, dass die veraltete gecachte Version Anwendung findet.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wenn man in vBulletin 4 mit dem Verfassen eines Beitrages beginnt und anschlie\u00dfend navigieren m\u00f6chte (z.B. Klick auf einen Link),\u00a0erscheint eine Warnmeldung. Die Idee dahinter ist grunds\u00e4tzlich nicht schlecht: M\u00f6chte man schlie\u00dflich nicht den Inhalt des Beitrages bzw. m\u00f6glicherweise durch den Autosave-Intervall einen Teil davon verlieren, wenn man irrt\u00fcmlich einen Link angeklickt hat. Doch dieses &#8230;<\/p>\n","protected":false},"author":5,"featured_media":3452,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[78],"tags":[398,399],"class_list":["post-3451","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software","tag-vbulletin","tag-vbulletin4"],"_links":{"self":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/3451","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/comments?post=3451"}],"version-history":[{"count":4,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/3451\/revisions"}],"predecessor-version":[{"id":3456,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/3451\/revisions\/3456"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media\/3452"}],"wp:attachment":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media?parent=3451"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/categories?post=3451"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/tags?post=3451"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}