mb: createAttribut is not a Function

0 49

createAttribut is not a Function

mb
  • javascript
  1. 0
    Der Martin
    1. 0
      MudGuard
      1. 0
        Der Martin
        1. 0
          mb
          1. 0
            Felix Riesterer
            1. 0
              mb
              1. 0
                Gunnar Bittersmann
                1. 0
                  mb
                  1. 0
                    Gunnar Bittersmann
                    1. 0
                      mb
              2. 0
                JürgenB
            2. 0
              mb
            3. 1

              Body

              Orlok
              • browser
              • html
              • javascript
              1. 0
                Orlok
                • korrektur
                1. 0
                  mb
              2. 0
                Gunnar Bittersmann
                1. 0
                  1unitedpower
                  1. 0
                    Orlok
                    1. 0
                      Orlok
                      • korrektur
                      • zu diesem forum
                      1. 1

                        Bearbeitungszeitraum

                        Auge
                        • zu diesem forum
                        1. 0
                          Orlok
                          1. 0
                            woodfighter
                            1. 0
                              Auge
                              1. 0
                                Christian Kruse
                                1. 0
                                  Christian Kruse
                                2. 0
                                  Auge
                                  1. 0
                                    Christian Kruse
                                    1. 0
                                      Auge
                          2. 1
                            Tabellenkalk
                          3. 0
                            Auge
                            1. 0
                              Orlok
                              1. 0
                                Matthias Apsel
                            2. 0
                              Matthias Apsel
                              1. 0
                                Auge
                              2. 0
                                Christian Kruse
                                1. 0
                                  Matthias Apsel
                                  1. 0
                                    Christian Kruse
                                    1. 0
                                      Matthias Apsel
                                      1. 0
                                        Gunnar Bittersmann
                                        1. 0
                                          Gunnar Bittersmann
                          4. 0
                            Christian Kruse
    2. 0
      Orlok
      • html
      1. 0
        Der Martin
    3. 0
      mb
      1. 0
        Orlok
        • javascript
        • usability
        1. 0
          Der Martin
          1. 0
            Orlok
            • javascript
            • menschelei
        2. 0
          mb

Guten Abend,

über eine pseudo selbst aufrufende funktion bewusst ohne

(function() ... )();

bevor die seite geladen wurde, will ich ein Image-Object erstellen was das gesamte Fenster überdeckt damit die seite fertig geladen wird und nicht jemand rumfuscht bevor die Seite geladen wurde mit diesem Code:

window.document.body = start("");
	function start(e) {
		
		alert(e);
		var o		= document.createElement("div");
		var att_1	= document.createAttribut("bgColor");
		var att_2	= document.createAttribut("heigth");
		var att_3	= document.createAttribut("width");
		
		att_1.value = "black";
		att_2.value = "100%";
		att_3.value = "100%";
		
		o.setAttributeNode(att_1);
		o.setAttributeNode(att_2);
		o.setAttributeNode(att_3);
		
		var wrapper = document.getElementById("wrapper");
		wrapper.appendChild(o);
	};

beim ersten Attribut att_1 meckert der Interpreter rum :/.

  1. Hallo,

    damit [...] nicht jemand rumfuscht

    bitte was?? Meintest du "rumpfuscht"? ;-)

    window.document.body = start("");
    	function start(e) {
    		
    		alert(e);
    		var o		= document.createElement("div");
    		var att_1	= document.createAttribut("bgColor");
    		var att_2	= document.createAttribut("heigth");
    		var att_3	= document.createAttribut("width");
    		
    		att_1.value = "black";
    		att_2.value = "100%";
    		att_3.value = "100%";
    		
    		o.setAttributeNode(att_1);
    		o.setAttributeNode(att_2);
    		o.setAttributeNode(att_3);
    		
    		var wrapper = document.getElementById("wrapper");
    		wrapper.appendChild(o);
    	};
    

    beim ersten Attribut att_1 meckert der Interpreter rum :/.

    Kein Wunder, würde ich auch. Im Englischen schreibt sich "attribute" mit einem 'e' am Schluss, deswegen heißt die Funktion auch createAttribute(). Beim setAttributeNode() ein paar Zeilen tiefer hast du's richtig ...

    Übrigens ist es IMO wesentlich einfacher und übersichtlicher, nicht erst im DOM Attributknoten zu bauen, sondern einfach dem JS-Elementobjekt direkt die entsprechenden Eigenschaften zuzuweisen, etwa so:

    o.bgColor = "black";
    o.width = "100%";
    o.height = "100%";
    

    Und noch schöner wäre es, das Element gar nicht mit JS zu erzeugen, sondern ganz normal im Dokument zu haben, dann zum richtigen Zeitpunkt per JS diesem Element oder einem seiner Vorfahren eine bestimmte Klasse zu setzen (oder wegzunehmen), wodurch das Element aufgrund der dann anderen CSS-Regeln unsichtbar wird.

    Äh, noch was:

    window.document.body = start("");
    

    Was zum Geier soll diese Anweisung?

    So long,
     Martin

    1. Hi,

      Übrigens ist es IMO wesentlich einfacher und übersichtlicher, nicht erst im DOM Attributknoten zu bauen, sondern einfach dem JS-Elementobjekt direkt die entsprechenden Eigenschaften zuzuweisen, etwa so:

      Noch sinnvoller wäre es, diese präsentationsbezogenen Sachen dahin zu stecken, wo sie hingehören: ins Stylesheet.

      cu,
      Andreas a/k/a MudGuard

      1. n'Abend,

        Übrigens ist es IMO wesentlich einfacher und übersichtlicher, nicht erst im DOM Attributknoten zu bauen, sondern einfach dem JS-Elementobjekt direkt die entsprechenden Eigenschaften zuzuweisen, etwa so:

        Noch sinnvoller wäre es, diese präsentationsbezogenen Sachen dahin zu stecken, wo sie hingehören: ins Stylesheet.

        genau das habe ich ja einen Absatz weiter auch empfohlen.

        Ciao,
         Martin

        1. n'Abend,

          Übrigens ist es IMO wesentlich einfacher und übersichtlicher, nicht erst im DOM Attributknoten zu bauen, sondern einfach dem JS-Elementobjekt direkt die entsprechenden Eigenschaften zuzuweisen, etwa so:

          Noch sinnvoller wäre es, diese präsentationsbezogenen Sachen dahin zu stecken, wo sie hingehören: ins Stylesheet.

          genau das habe ich ja einen Absatz weiter auch empfohlen.

          Ciao,
           Martin

          erstmal herzlichen dank für die vielen antworten, ich über lies das ganze. und bei attribut ging es mir ums prinzipt Ich pack das ganze sowieso in stylsheets aber es gibt immer noch n problem an dem ich hadere. das body-object ist null wärend der laufzeit. muss das erst geschlossen werden damit man es ansteuern kann? wie <body>..</body>??? das wäre natürlich kacke.

          1. Lieber mb,

            das body-object ist null wärend der laufzeit. muss das erst geschlossen werden damit man es ansteuern kann? wie <body>..</body>???

            es ist standardmäßig schon vorhanden - wenn man es nicht kaputt macht. Hier ein bisschen Hintergrundwissen für Dich:

            Liebe Grüße,

            Felix Riesterer.

            1. Hi Felix,

              es ist standardmäßig schon vorhanden - wenn man es nicht kaputt macht. Hier ein bisschen Hintergrundwissen für Dich:

              nach überfliegen - sry bin echt müdde - ist mir die vorgehensweise sehr bewusst.

              ich will n dynamisches element beim laden erzeugen und nnach demladen wieder entfernen sodass der user bem laden keinen unfug mach beim rumklicken. das Habe ich auch schon erwähnt. lieben Gruß, Mathias Beyer

              1. @@mb

                ich will n dynamisches element beim laden erzeugen und nnach demladen wieder entfernen

                Dazu brauchst du kein Element. Du könntest body { display: none } setzen und nach dem Laden auf block.

                sodass der user bem laden keinen unfug mach beim rumklicken.

                Dass der Unfug ganz auf deiner Seite liegt, hat Orlok schon versucht, dir klarzumachen.

                Das Laden einer Webseite dauert üblicherweise[1] mehrere Sekunden. Wenn in dieser Zeit rein gar nichts auf dem Bildschirm passiert, ist der Nutzer weg, bevor die Seite geladen ist.

                This is the Web.

                Also lass den Unfug.

                LLAP 🖖

                --
                Ist diese Antwort anstößig? Dann könnte sie nützlich sein.

                1. Die übliche Nutzung des Webs ist über Mobilfunk. ↩︎

                1. Dazu brauchst du kein Element. Du könntest body { display: none } setzen und nach dem Laden auf block.

                  ich möchte dem user schon etwas präsentieren beim laden. also keine gute idee. gruß mb

                  1. @@mb

                    Dazu brauchst du kein Element. Du könntest body { display: none } setzen und nach dem Laden auf block. ich möchte dem user schon etwas präsentieren beim laden.

                    Das Hintergrundild des html-Elements vielleicht?

                    also keine gute idee.

                    Vielleicht doch. Also nicht so schnell, junger Freund.

                    LLAP 🖖

                    --
                    Ist diese Antwort anstößig? Dann könnte sie nützlich sein.
                    1. Dazu brauchst du kein Element. Du könntest body { display: none } setzen und nach dem Laden auf block. ich möchte dem user schon etwas präsentieren beim laden.

                      Das Hintergrundild des html-Elements vielleicht?

                      also keine gute idee.

                      Vielleicht doch. Also nicht so schnell, junger Freund.

                      :D ja. Ne gute und einfache möglichkeit habe ich erwähnt dir zusagen. Ich halte meinen weg aber für besser weil da andere Ziele mit abgedeckt werden. ich zieh die Seite mal auf wenn ich se fertig habe. Ich würde mich sehr freuen kritik von Großmeistern wie euch zu bekommen - wenn sie fertig is versteht sich.

                      gruß mb

              2. Hallo

                ich will n dynamisches element beim laden erzeugen und nnach demladen wieder entfernen sodass der user bem laden keinen unfug mach beim rumklicken. das Habe ich auch schon erwähnt.

                wäre es nicht besser, die "gefährlichen" Bedienelemente während des Ladens zu sperren (disabled)?

                Gruß Jürgen

            2. hab das mal hier nicht elegang gelöst leider ohne sehr dynamisches JavaScript.

              <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
              	"http://www.w3c.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
              <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
              
              	<head>
              		<style type="text/css">
              			#loading-screen {
              				position:	absolute;
              				width:		100%;
              				height:		100%;
              				background-color:	black;
              			}
              			
              			body {
              				margin:		0;
              				padding:	0;
              				width:		100%;
              				height:		100%;
              				background-color:	green;
              			}
              		
              	</style>
              	<script type="text/javascript">
              			window.onload = function() {
              				alert("ende");
              				document.getElementById("loading-screen").style.display = "none";
              			}
              		</script>
              	</head>
              	<body>
              		<script type="text/javascript">alert("landen");</script>
              		<div id="loading-screen"></div>
              		<script type="text/javascript">alert("fertig");</script>
              	</body>
              </html>
              

              wenn dir was besseres enfällt, sehe es mir gern an :-).

              Gruß

            3. Hallo

              das body-object ist null wärend der laufzeit. muss das erst geschlossen werden damit man es ansteuern kann? wie <body>..</body>???

              es ist standardmäßig schon vorhanden - wenn man es nicht kaputt macht. Hier ein bisschen Hintergrundwissen für Dich:

              Damit er lernt, wie man sehr umständlich das Problem löst, dass man nur eine Handlerfunktion als Objekteigenschaft hinterlegen kann?

              Ich weiß, es klingt verrückt, aber ich glaube da gibt es noch eine bessere Möglichkeit als in diesem insgesamt doch recht antiquierten Tutorial:

              window.addEventListener('load', foo);
              window.addEventListener('load', bar);
              window.addEventListener('load', baz);
              // ...
              

              Davon abgesehen, ist body nicht „standardmäßig schon vorhanden“, wie du sagst.

              Zwar ist body kein Pflichtelement weil es obligatorisch ist, aber das bedeutet eben nicht, dass es vom Browser quasi sofort eingefügt wird:

              <!doctype html>
              
              <html lang="de">
                <head>
                  <meta charset="utf-8">
                  <title> Hallo Welt </title>
                  <script>
              
                    console.log(document.body ? true : false); // false
              
                  </script>
                </head>
              </html>
              

              Die Konstruktion des Parsebaums ist Teil eines inkrementellen Prozesses und als state machine implementiert, das heißt, erst wenn der Parser in den insertion modeafter head“ wechselt und gemäß dem Fall, dass der Tokenizer kein öffnendes body-Tag ausspuckt, wird body automatisch ergänzt:

              <!doctype html>
              
              <html lang="de">
                <head>
                  <meta charset="utf-8">
                  <title> Hallo Welt </title>
                </head>
                <p> Hallo Welt </p>
                <script>
              
                  console.log(document.body ? true : false); // true;
              
                </script>
              </html>
              

              Das Element p darf in head nicht vorkommen, daher wechselt der Zustand zu „after head“ und da hier vom Tokenizer kein öffnendes body-Tag geliefert wurde, wird das Element entsprechend automatisch eingefügt und es geht weiter „in body“.

              Anders aber hier:

              <!doctype html>
              
              <html lang="de">
                <head>
                  <meta charset="utf-8">
                  <title> Hallo Welt </title>
                </head>
                <script>
              
                  console.log(document.body ? true : false); // false;
              
                </script>
                <p> Hallo Welt </p>
              </html>
              

              Zwar signalisiert das schließende head-Tag, dass wir uns nun im Zustand „after head“ befinden sollten, aber da kein öffnendes body-Tag folgt und script sowohl in head als auch in body vorkommen darf, muss der Parser hier eine Entscheidung treffen, ob es sich bei script um ein falsch plaziertes Element handelt, welches eigentlich zu head gehört, oder ob das Element Kind von body sein soll.

              Im Zweifel wird script hier als metadata content angesehen und entsprechend in den head verfrachtet, so dass der gleiche Code später im Browser tatsächlich so aussieht:

              <!doctype html>
              
              <html lang="de">
                <head>
                  <meta charset="utf-8">
                  <title> Hallo Welt </title>
                  <script>
              
                    console.log(document.body ? true : false); // false;
              
                  </script>
                </head>
                <body>
                  <p> Hallo Welt </p>
                </body>
              </html>
              

              Wenn ich in JavaScript also zum frühestmöglichen Zeitpunkt auf body zugreifen will, muss ich script direkt nach dem öffnenden body-Tag notieren, oder das Element im Script selbst erstellen…

              Ersteres wäre hier in diesem konkreten Fall wahrscheinlich sogar die bessere Lösung, denn wenn wir JavaScript nur benutzen, um den „Platzhalter“ wieder auszublenden, wenn die Seite fertig geladen ist, in dem wir die entsprechende Klasse zuweisen, dann passiert für Besucher ohne JavaScript nichts und sie bekommen den Seiteninhalt gar nicht zu Gesicht:

              <!doctype html>
              
              <html lang="de">
                <head>
                <!-- ... -->
                </head>
                <body>
                  <script>
              
                    var div = document.createElement('div');
                    document.body.appendChild(div);
              
                    window.addEventListener('load', function ( ) {
                      div.className = 'invisible';                         // display: none;
                    });
              
                  </script>
                  <!-- ... -->
                </body>
              </html>
              

              Aber wie ich schon sagte, halte ich das ganze Vorhaben ohnehin für falsch, denn gerade die Tatsache, dass Browser so konzipiert sind, die Elemente so schnell wie möglich zu rendern, statt mit der Anzeige zu warten bis alles geladen ist, sollte ein klares Indiz dafür sein, dass Benutzer eben nicht gerne warten, und nichts anderes bewirkt dieser „Startbildschirm“!

              Eine gute Erklärung, warum das hier sinnvoll sein soll, habe ich jedenfalls noch nicht gelesen…

              Gruß,

              Orlok

              1. @Felix Riesterer

                das body-object ist null wärend der laufzeit. muss das erst geschlossen werden damit man es ansteuern kann? wie <body>..</body>???

                es ist standardmäßig schon vorhanden - wenn man es nicht kaputt macht. […]

                Du meintest, das body-Element ist verfügbar, sobald das öffnende Tag notiert ist und nicht, wie ich es zunächst verstanden hatte, dass es grundsätzlich „standardmäßig schon vorhanden“ sei.

                Sorry, das habe ich glatt überlesen! - Es wird echt Zeit, dass ich schlafen gehe… ;-)

                Gute Nacht und Gruß,

                Orlok

                1. sehr schön erklärt, danke dir. ich werds mit xhtml strict erstellen. aber so wie du das gemacht hast ist es auch net mit script direkt an erster stelle. Es ist aber nur für n projekt mit xhtml, xml, js und php nach MVC Prinzip schönen Wochenanfang mb

              2. @@Orlok

                Zwar ist body kein Pflichtelement weil es obligatorisch ist

                ?? Ist da ein k zu viel?

                  console.log(document.body ? true : false);
                

                Das liest sich seltsam.

                console.log(!!document.body);
                

                tut dasselbe.

                --
                Ist diese Antwort anstößig? Dann könnte sie nützlich sein.
                1.   console.log(document.body ? true : false);
                  

                  Das liest sich seltsam.

                  console.log(!!document.body);
                  

                  Das liest sich seltsam.

                  console.log(Boolean(document.body));
                  

                  tut das selbe, aber das liest sich seltsam.

                  console.assert(document.body instanceof HTMLBodyElement, 'document.body ist nicht verfügbar');
                  

                  ist zum Debuggen besser geeignet, weil man dann in den DevTools mit "Pause on exceptions" direkt den Fehler analysieren kann und auch silent-failures vermeidet.

                  1. Hallo

                    console.assert(document.body instanceof HTMLBodyElement, 'document.body ist nicht verfügbar');
                    

                    lol

                    Bis zu diesem Thread hätte ich es nicht für möglich gehalten, dass es für diese Zeile einen use case geben könnte. ;-)

                    Wobei wir hier im Zweifel auch gleich…

                    console.assert(document.body instanceof Node, 'BODY ist nicht verfügbar');
                    

                    …schreiben könnten.

                    Aber wenn wir mal annehmen, dass wir body nicht mit undefined überschrieben haben, dann wäre auch…

                    console.assert(document.body, 'BODY ist nicht verfügbar');
                    

                    …schon ausreichend gewesen. ;-)

                    ist zum Debuggen besser geeignet […]

                    Stimmt, aber nicht um den Status anzuzeigen, was in meinem ursprünglichen Beitrag ja das eigentliche Ziel der Übung war.

                    Dass ich mich hier nun letztlich für den ternary operator entschieden habe lag daran, dass ich diese Option als aus Anfängersicht am verständlichsten angesehen habe, mit dem zusätzlichen Nutzen, dass in dieser speziellen Variante dessen Syntax auch für denjenigen leicht nachvollziehbar wird, der damit bislang eventuell noch nicht vertraut war.

                    Aber ja. Es liest sich seltsam. ;-)

                    Gruß,

                    Orlok

                    1. Hallo

                      Aber wenn wir mal annehmen, dass wir body nicht mit undefined überschrieben haben, dann wäre auch…

                      console.assert(document.body, 'BODY ist nicht verfügbar');
                      

                      …schon ausreichend gewesen. ;-)

                      Das wäre es natürlich auch so.

                      Warum zum Teufel hat man hier eigentlich nur ein paar Minuten Zeit, seine eigenen Beiträge zu bearbeiten?

                      Für registrierte Nutzer sollte es gar keine Zeitbeschränkung geben! :-/

                      Gruß,

                      Orlok

                      1. Hallo

                        Warum zum Teufel hat man hier eigentlich nur ein paar Minuten Zeit, seine eigenen Beiträge zu bearbeiten?

                        Es gibt zwar einzelne, bei denen du offene Türen einrennst, aber der folgende Grund sollte mMn verständlich sein.

                        Die Zeit- und auch die Das-Posting-darf-noch-nicht-beantwortet-sein-Beschränkung gibt es, um Fälschungen vorzubeugen.

                        Für registrierte Nutzer sollte es gar keine Zeitbeschränkung geben! :-/

                        Dagegen! Schon allein, um Fälschungen vorz …

                        … ach, du weißt schon. Ich finde die Beschränkung jedenfalls sinnvoll und die gewährten 15 Minuten für das nachträgliche bearbeiten von Postings sind im allgemeinen lange genug.

                        Tschö, Auge

                        --
                        Es schimmerte ein Licht am Ende des Tunnels und es stammte von einem Flammenwerfer.
                        Terry Pratchett, „Gevatter Tod“
                        1. Hallo

                          Es gibt zwar einzelne, bei denen du offene Türen einrennst, aber der folgende Grund sollte mMn verständlich sein.

                          Die Zeit- und auch die Das-Posting-darf-noch-nicht-beantwortet-sein-Beschränkung gibt es, um Fälschungen vorzubeugen.

                          Äh, nein. Ich fürchte für mich ist dieser Grund nicht „verständlich“; Könntest du etwas genauer beschreiben, was du mit „Fälschungen“ meinst, oder auf eine Quelle verlinken, wo diese Problematik etwas ausführlicher erklärt ist?

                          Was sollte denn überhaupt „gefälscht“ werden? - 50 Euro-Scheine, ein Picasso, Hitlers Tagebücher?

                          Wenn es hier im Forum eine Sicherheitslücke geben sollte, die es ermöglicht, unbefugt fremde Beiträge zu editieren oder die Identität eines anderen (registrierten?) Benutzers vorzutäuschen, solange der in Rede stehende Beitrag nicht geschlossen ist, dann würde ich denken, dass diese Lücke geschlossen und das Problem nicht lediglich durch Verkürzung der Bearbeitungszeit eingegrenzt werden sollte.

                          […] Ich finde die Beschränkung jedenfalls sinnvoll […]

                          Wie gesagt, mir erschließt sich die Sinnhaftigkeit dieser Regelung im Moment noch nicht; Aber ich habe auch keinen Einblick in die hier zugrundeliegenden technischen Begebenheiten.

                          Ich kann dir allerdings gerne einmal schildern, was ich als Benutzer hier für „sinnvoll“ halten würde…

                          Fangen wir an mit der Erstellung des Beitrags:

                          Du erwähntest eine „Das-Posting-darf-noch-nicht-beantwortet-sein-Beschränkung“, die mir hier als Benutzer noch nicht aufgefallen ist; Insofern sei diese erste Bemerkung meinerseits von vorneherein unter Vorbehalt gestellt…

                          Jedenfalls würde ich es für sinnvoll erachten, wenn ein Beitrag, der gerade erstellt wurde, sagen wir für 5 Minuten nicht beantwortet werden darf, damit der Autor dieses Beitrages die Möglichkeit hat, selbigen gleich wieder zu löschen, für den Fall, dass er merkt, dass dieser in Gänze falsch oder überflüssig - und mithin gegenstandslos ist.

                          Ich meine, ich habe es noch nicht ausprobiert, aber soweit ich es verstanden habe, ist die einzige Möglichkeit einen Beitrag wieder zu löschen die, ihn zu bearbeiten und allen Text zu entfernen, so dass der Beitrag entweder automatisch oder aber durch einen Admin gelöscht wird.

                          Besser fände ich es, wenn innerhalb der ersten 5 Minuten nach der Erstellung des Beitrags und solange dieser noch nicht beantwortet werden darf, neben dem Button [Beitrag bearbeiten] noch ein Button [Beitrag löschen] gegeben wäre, mit dem sich gegenstandslose oder versehentlich abgeschickte Beiträge direkt wieder entfernen lassen.

                          Ich denke, eine Zeitspanne von 5 Minuten zum Löschen des eigenen Beitrags ist ein vertretbarer Kompromiss zwischen dem Bedürfnis, gröbste Verfehlungen zu vermeiden, und der grundsätzlichen Notwendigkeit, die Kommunikation hier im Forum nicht unverhältnismäßig zu blockieren.

                          Zeit den eigenen Beitrag zu bearbeiten:

                          Wenn ich dich richtig verstanden habe, rechtfertigst du die sehr begrenzte Bearbeitungszeit damit, dass dadurch in irgendeiner Form im Programm so nicht vorgesehene Manipulationen durch Unbefugte verhindert werden sollen, sprich, dass es hier wohl irgendein Sicherheitsproblem gibt.

                          Aber wenn ich mir beispielsweise das Forum von stackoverflow ansehe, bei dem es sich - bei aller Liebe und Wertschätzung für dieses Forum - wohl dennoch um ein weitaus lohnenderes Ziel für derartige Angriffe handelt, dann stelle ich fest, dass dort keine vergleichbare zeitliche Beschränkung implementiert ist, was mich wiederum zu der Schlussfolgerung führt, dass es sich hierbei nicht um ein prinzipielles Problem handelt, dessen Lösung oder wenigstens Eindämmung zwingend auf Kosten der Usability gehen müsste.

                          Dass ich eine unterschiedliche Behandlung von registrierten und nicht registrierten Benutzern in diesem Zusammenhang für vertretbar halte, hatte ich schon in meinem anderen Beitrag geschrieben…

                          Jedenfalls, um meine - in Ermangelung weitergehender Erkenntnisse natürlich rein spekulativen - Gedanken zu diesem Punkt abzuschließen, möchte ich hierzu nur noch zweierlei zu bedenken geben:

                          Nämlich erstens, dass ich es überhaupt für sehr unwahrscheinlich halte, dass jemand größeren Aufwand betreiben würde, nur um in irgendeiner Form einen Beitrag hier im Forum zu „fälschen“, und dass es meiner Ansicht nach in der Verantwortung des Forenbetreibers liegt zu verhindern, dass dies ohne größeren Aufwand überhaupt möglich ist…

                          …und zweitens, dass ich es für noch unwahrscheinlicher halte, dass diese Manipulation, so sie denn doch passieren würde, dann auch noch völlig unbemerkt bliebe, weshalb mir diese Begründung letztlich eben nicht besonders stichhaltig erscheint.

                          Aber wie gesagt, ich lasse mich gerne eines Besseren belehren.

                          Von dieser Problematik aber einmal abgesehen und bezogen auf die Zeit, in der auf einen Beitrag geantwortet werden kann, entsteht natürlich hinsichtlich der nachträglichen Bearbeitung dieses Beitrags immer das Problem, dass sich die jeweiligen Antworten gegebenenfalls auf später entfernte Teile dieses Beitrags beziehen.

                          Wobei dies jedoch ein Problem ist, welches wirklich prinzipiell unvermeidbar ist, insofern man die Möglichkeit zur Bearbeitung eines Beitrags überhaupt einräumt, weitestgehend unabhängig von der Frage, wie lange die zur Verfügung gestellte Bearbeitungszeit nun dauert.

                          Das bedeutet aber auch, dass die Frage, wie mit diesem Problem umzugehen sei, ebenfalls weitestgehend unabhängig von der Dauer der Bearbeitungszeit zu betrachten ist:

                          Ich denke, hier sind zunächst einmal zwei Arten von Korrekturen zu unterscheiden, nämlich einerseits solche, die lediglich die Form des Beitrags betreffen, wie etwa die Korrektur von Fehlern in der Rechtschreibung oder bei der Auszeichnung, und andererseits solche, bei denen tatsächlich inhaltliche Veränderungen vorgenommen werden.

                          Die zuerst genannten kleineren Eingriffe sind natürlich völlig unproblematisch und in dieser Hinsicht ohne Belang, und was die letztgenannten inhaltlichen Korrekturen angeht gibt es mehrere Möglichkeiten damit umzugehen.

                          Die derzeitige Lösung ist es, in der Kopfzeile des Beitrags lediglich zu vermerken, dass der Beitrag editiert wurde und wann dies geschehen ist; Die Angabe dazu, was verändert wurde hingegen ist völlig dem guten Willen desjenigen überantwortet, der den Beitrag bearbeitet hat, sprich, es ist dem Schreiber überlassen, inwiefern er die Veränderungen auch als solche kenntlich macht.

                          Das dies in letzter Konsequez in der Verantwortung des Beitragsverfassers liegt, halte ich auch für grundsätzlich richtig, aber vieleicht könnte und sollte man dennoch darüber nachdenken, ob es nicht „sinnvoll“ wäre, durch entsprechende Funktionalität das gewünschte Verhalten zu unterstützen.

                          So erschiene es mir als keine schlechte Idee, wenn es bei der Bearbeitung des Beitrags die Option gäbe, in einem extra Eingabefeld einen Kommentar zu hinterlassen, in dem man kurz beschreiben kann, was verändert wurde, wobei diese Kommentare dann direkt unter dem eigentlichen Beitrag eingeblendet werden könnten.

                          Zusätzlich oder auch alternativ könnte man darüber nachdenken, größere Abschnitte die verändert wurden beispielsweise farblich hervorzuheben, oder - quasi als Erinnerung - beim Klick in den zu bearbeitenden Text automatisch ein [EDIT] [/EDIT] oder ähnliches einzufügen, entweder als direkter Hinweis oder um über eine solche oder ähnliche Syntax eine mögliche visuelle Hervorhebung zu aktivieren.

                          Aber wie ich schon sagte, sehe ich diese Problematik als ohnehin unvermeidbare Auswirkung dieser Funktionalität an, wobei die Frage, inwiefern sich die Dauer der Bearbeitungszeit hierauf tatsächlich auswirkt, in meinen Augen zweitrangig und zudem von den jeweiligen Umständen im Einzelfall abhängig ist, weshalb ich dies nicht als guten Grund ansehe, den entsprechenden Zeitraum zu verkürzen…

                          die gewährten 15 Minuten für das nachträgliche bearbeiten von Postings sind im allgemeinen lange genug.

                          Du meinst das „Bearbeiten“, nicht wahr? ;-)

                          Also ich halte 15 Minuten für das nachträgliche Bearbeiten ausdrücklich nicht für ausreichend, und zwar im Wesentlichen aus dem folgendem Grund:

                          Zwar liest man sich in der Regel seinen eigenen Beitrag sowohl vor als auch nach dem Speichern nochmals durch, aber oft ist man dann gedanklich zu diesem Zeitpunkt noch zu sehr involviert und nicht selten fallen einem Fehler erst dann auf, wenn man eine gewisse gedankliche Distanz zu den verfassten Aussagen wiedererlangt hat, und hierfür ist die verstrichene Zeit meiner Ansicht nach von kausaler Bedeutung!

                          Ich meine, ich kann hier natürlich nur für mich selbst sprechen, aber zumindest mir geht es oft so, dass mir trotz "gewissenhaften" Korrekturlesens meines Beitrages Fehler oder Ungenauigkeiten erst einige Zeit später auffallen, wenn ich meinen Beitrag mit der nötigen Distanz nocheinmal überfliege, was aber all zu oft erst dann passiert, wenn die Zeit für die Bearbeitung schon lange abgelaufen ist.

                          Und in dieser Situation und sofern noch niemand anderes über meine Fehler gestolpert ist, bleiben mir dann nur zwei Optionen, nämlich entweder ein Korrekturposting zu verfassen, oder meinen fehlerhaften Beitrag so zu belassen wie er ist, in der Hoffnung, dass es niemandem auffällt, wobei ich gestehen muss, dass ich das Verfassen eines weiteren Beitrags als zusätzliche Hürde empfinde, weshalb ich oft Aussagen stehen lasse, die ich eigentlich lieber revidiert oder präzisiert hätte, für mein eigenes Wohlbefinden und das Wohl desjenigen, der diesen Beitrag vielleicht liest und in eigener Unkenntnis meine Fehler übernimmt.

                          Denn auch wenn sich bei groben Fehlleistungen hier im Forum dankenswerterweise meistens jemand findet, der die entsprechende Aussage richtigstellt, passiert es dennoch, dass Fehler auch unbemerkt den Weg ins Archiv finden.

                          Ich denke, dass es keinen wirklich guten Grund gibt, weshalb die Bearbeitungszeit so kurz sein muss, aber dass es andererseits auf jeden Fall die formale, jedoch auch gelegentlich die inhaltliche Qualität der Beiträge hier im Forum erhöhen würde, wenn man mehr Zeit zur Korrektur derselben zur Verfügung hätte.

                          Was nun die Frage angeht, wieviel Zeit zur Korrektur zur Verfügung stehen sollte, denke ich ist zu unterscheiden zwischen registrierten und nicht registrierten Benutzern, wobei es sich bei letzteren vorrangig um das Problem der sicheren Identifizierung drehen dürfte.

                          In meinem ersten Beitrag hatte ich ja für registrierte Nutzer eine unbegrenzte Bearbeitungszeit ins Spiel gebracht, aber ich denke, das ist gar nicht nötig, sprich, ich würde eine Bearbeitungszeit von 24 oder 48 Stunden, wenigstens aber 3 oder 4 Stunden, als absolut ausreichend ansehen.

                          Weniger sollte es aber meiner Ansicht nach auch nicht sein, denn es ist schließlich auch zu berücksichtigen, dass die Benutzer ja nicht ununterbrochen hier im Forum zugegen sind, weshalb eine erneute Überprüfung des Beitrags oft erst zu einem späteren Zeitpunkt überhaupt möglich ist.

                          Es mag ja sein, dass dies alles nur „mein Problem“ ist, aber ich muss sagen, dass die Begrenzung der Bearbeitungszeit und der dadurch aufgebaute Zeitdruck meinen Enthusiasmus mich hier einzubringen doch nicht unbeträchtlich dämpft…

                          Mehr kann ich dazu nicht sagen.

                          Gruß,

                          Orlok

                          1. Tach,

                            Äh, nein. Ich fürchte für mich ist dieser Grund nicht „verständlich“; Könntest du etwas genauer beschreiben, was du mit „Fälschungen“ meinst, oder auf eine Quelle verlinken, wo diese Problematik etwas ausführlicher erklärt ist?

                            damit ist gemeint, dass User A ein Posting erstellt, User B darauf antwortet und User A danach sein Posting ändert; das kann böswillig sein (die epischen Trolle von früher liest man hier ja inzwischen eher selten, aber man muss ja nicht mehr Anreiz schaffen), ist aber zumindest für später Lesende (vorallem solche, die mit dem Forum nicht nicht vertraut sind) verwirrend.

                            Die Angabe dazu, was verändert wurde hingegen ist völlig dem guten Willen desjenigen überantwortet, der den Beitrag bearbeitet hat, sprich, es ist dem Schreiber überlassen, inwiefern er die Veränderungen auch als solche kenntlich macht.

                            Nö, du kannst auf „editiert von“ drauf klicken und landest in der Versionsansicht (z.B. https://forum.selfhtml.org/self/2015/sep/12/createattribut-is-not-a-function/1649985/versions für dieses Posting).

                            In meinem ersten Beitrag hatte ich ja für registrierte Nutzer eine unbegrenzte Bearbeitungszeit ins Spiel gebracht, aber ich denke, das ist gar nicht nötig, sprich, ich würde eine Bearbeitungszeit von 24 oder 48 Stunden, wenigstens aber 3 oder 4 Stunden, als absolut ausreichend ansehen.

                            Das halte ich für eine sehr schlechte Idee, denn das führt dazu, dass deine Änderungen nicht gelesen werden (oder man müsste das Benachrichtigungssystem und die Anzeige auf der Hauptseite ändern).

                            mfg
                            Woodfighter

                            1. Hallo

                              In meinem ersten Beitrag hatte ich ja für registrierte Nutzer eine unbegrenzte Bearbeitungszeit ins Spiel gebracht, aber ich denke, das ist gar nicht nötig, sprich, ich würde eine Bearbeitungszeit von 24 oder 48 Stunden, wenigstens aber 3 oder 4 Stunden, als absolut ausreichend ansehen.

                              Das halte ich für eine sehr schlechte Idee, denn das führt dazu, dass deine Änderungen nicht gelesen werden (oder man müsste das Benachrichtigungssystem und die Anzeige auf der Hauptseite ändern).

                              Ich habe manchmal das Gefühl, dass ich auch eine Notification bekomme, wenn ein Posting editiert wurde. Ich sehe in diesen Fällen kein neues Posting und auch in den ausgeblendeten Threads ist nichts zu finden. Das lässt mich vermuten, dass auch bei Änderungen an bestehenden Postings eine Notification rausgeht.

                              @Matthias Apsel, @Christian Kruse: stimmt meine Vermutung?

                              Tschö, Auge

                              --
                              Es schimmerte ein Licht am Ende des Tunnels und es stammte von einem Flammenwerfer.
                              Terry Pratchett, „Gevatter Tod“
                              1. Hallo Auge,

                                Ich habe manchmal das Gefühl, dass ich auch eine Notification bekomme, wenn ein Posting editiert wurde. […] @Matthias Apsel, @Christian Kruse: stimmt meine Vermutung?

                                Nein. Aber der Mention-Parser ist offensichtlich noch verbuggt.

                                LG,
                                CK

                                1. Hallo Christian,

                                  Ich habe manchmal das Gefühl, dass ich auch eine Notification bekomme, wenn ein Posting editiert wurde. […] @Matthias Apsel, @Christian Kruse: stimmt meine Vermutung?

                                  Nein. Aber der Mention-Parser ist offensichtlich noch verbuggt.

                                  [x] Fixed.

                                  LG,
                                  CK

                                2. Hallo

                                  Ich habe manchmal das Gefühl, dass ich auch eine Notification bekomme, wenn ein Posting editiert wurde. […] …: stimmt meine Vermutung?

                                  Nein. …

                                  Leider doch, siehe #461.

                                  Tschö, Auge

                                  --
                                  Es schimmerte ein Licht am Ende des Tunnels und es stammte von einem Flammenwerfer.
                                  Terry Pratchett, „Gevatter Tod“
                                  1. Hallo Auge,

                                    Ich habe manchmal das Gefühl, dass ich auch eine Notification bekomme, wenn ein Posting editiert wurde. […] …: stimmt meine Vermutung?

                                    Nein. …

                                    Leider doch, siehe #461.

                                    Typischer Fall von aneinander Vorbei geredet. Ich meinte die Benachrichtigungen, du offensichtlich das Hinweis-Popup ;-) Ja, das kann sein, dass du das für Updates bekommst, das muss ich prüfen.

                                    LG,
                                    CK

                                    1. Hallo

                                      Ich habe manchmal das Gefühl, dass ich auch eine Notification bekomme, wenn ein Posting editiert wurde. […] …: stimmt meine Vermutung?

                                      Nein. …

                                      Leider doch, siehe #461.

                                      Typischer Fall von aneinander Vorbei geredet.

                                      Ganz offensichtlich.

                                      Ich meinte die Benachrichtigungen, du offensichtlich das Hinweis-Popup ;-)

                                      Exakt die meine ich. Wir brauchen offensichtlich ein Glossar zur Begriffsbestimmung und -abgrenzung. :-)

                                      Tschö, Auge

                                      --
                                      Es schimmerte ein Licht am Ende des Tunnels und es stammte von einem Flammenwerfer.
                                      Terry Pratchett, „Gevatter Tod“
                          2. Hallo,

                            Also ich halte 15 Minuten für das nachträgliche Bearbeiten ausdrücklich nicht für ausreichend,

                            Vielleicht sollte Dich jemand auf die Möglichkeit hinweisen, die Vorschaufunktion zu verwenden. Die kann man auch mehrmals, z.B. solange bis man genügend abstand erreicht hat, nutzen.

                            Gruß
                            Kalk

                          3. Hallo

                            Die Zeit- und auch die Das-Posting-darf-noch-nicht-beantwortet-sein-Beschränkung gibt es, um Fälschungen vorzubeugen.

                            Äh, nein. Ich fürchte für mich ist dieser Grund nicht „verständlich“; Könntest du etwas genauer beschreiben, was du mit „Fälschungen“ meinst, oder auf eine Quelle verlinken, wo diese Problematik etwas ausführlicher erklärt ist?

                            Das Posting soll nicht gefälscht werden können, wie ich in einem anderen Satz explizit schrieb.

                            Was sollte denn überhaupt „gefälscht“ werden? - 50 Euro-Scheine, ein Picasso, Hitlers Tagebücher?

                            Heute 'nen Clown gefrühstückt?

                            Wenn es hier im Forum eine Sicherheitslücke geben sollte, die es ermöglicht, unbefugt fremde Beiträge zu editieren oder die Identität eines anderen (registrierten?) Benutzers vorzutäuschen, solange der in Rede stehende Beitrag nicht geschlossen ist, dann würde ich denken, dass diese Lücke geschlossen und das Problem nicht lediglich durch Verkürzung der Bearbeitungszeit eingegrenzt werden sollte.

                            Eine solche Lücke existiert meines Wissens nach nicht.

                            Zeit den eigenen Beitrag zu bearbeiten:

                            Wenn ich dich richtig verstanden habe, rechtfertigst du die sehr begrenzte Bearbeitungszeit damit, dass dadurch in irgendeiner Form im Programm so nicht vorgesehene Manipulationen durch Unbefugte verhindert werden sollen, sprich, dass es hier wohl irgendein Sicherheitsproblem gibt.

                            Nein, du hast mich nicht richtig verstanden.

                            …und zweitens, dass ich es für noch unwahrscheinlicher halte, dass diese Manipulation, so sie denn doch passieren würde, dann auch noch völlig unbemerkt bliebe, weshalb mir diese Begründung letztlich eben nicht besonders stichhaltig erscheint.

                            Sie bleibt nicht unbemerkt, denn es wird sowohl die Tatsache der Änderung als auch deren Inhalt protokolliert. Aber, dass das so ist, ist den meisten Nutzern mit großer Wahrscheinlichkeit nicht bekannt.

                            Von dieser Problematik aber einmal abgesehen und bezogen auf die Zeit, in der auf einen Beitrag geantwortet werden kann, entsteht natürlich hinsichtlich der nachträglichen Bearbeitung dieses Beitrags immer das Problem, dass sich die jeweiligen Antworten gegebenenfalls auf später entfernte Teile dieses Beitrags beziehen.

                            Genau das ist der Punkt, den ich „Fälschung“ genannt habe. Es ist in anderen Foren oft genug so, dass spätere Änderungen an Postings die Diskussion nicht nachvollziehbar machen, mithin den Verlauf und den Austausch regelrecht verfälschen, eben weil in späteren Postings auf Textteile früherer Postings Bezug genommen wird, die nicht mehr vorhanden sind. Dem ist hier mit der Protokollierung der Änderungen zwar grundsätzlich ein Riegel vorgeschoben, die eventuell vorhandenen Änderungen nachvollziehen werden die meisten Benutzer wegen der fehlenden Kenntnis des Änderungsprotokolls dennoch nicht oder zumindest schwer.

                            Wobei dies jedoch ein Problem ist, welches wirklich prinzipiell unvermeidbar ist, insofern man die Möglichkeit zur Bearbeitung eines Beitrags überhaupt einräumt, weitestgehend unabhängig von der Frage, wie lange die zur Verfügung gestellte Bearbeitungszeit nun dauert.

                            Nun, hier wird das gelöst, in dem Änderungen an Postings nicht mehr möglich sind, nachdem das Posting beantwortet wurde oder nachdem seit der ersten Speicherung 15 Minuten abgelaufen sind.

                            Ich denke, hier sind zunächst einmal zwei Arten von Korrekturen zu unterscheiden, nämlich einerseits solche, die lediglich die Form des Beitrags betreffen, wie etwa die Korrektur von Fehlern in der Rechtschreibung oder bei der Auszeichnung, und andererseits solche, bei denen tatsächlich inhaltliche Veränderungen vorgenommen werden.

                            Das machst du programmseitig wie? Oder soll stets und ständig jemand aus dem Forenteam da sitzen und Änderungen durchwinken, weil sie z.B. nur die Rechtschreibung betreffen bzw. zurücksetzen, weil sie z.B. sinnentstellend sind? Von der menschlichen Seite her kann ich deine Unterscheidung der Fälle nachvollziehen, aber wie willst du das in Software gießen? Solange das nicht geht, gibt es nur eine Art von Korrektur, nämlich die, die stattgefunden hat.

                            Die derzeitige Lösung ist es, …

                            Dass es ein Änderungsprotokoll inkl. farblicher Hervorhebung der Änderungen gibt, sagte ich ja schon. @Matthias Apsel Meiner Meinung nach sollte der Link zum Protokoll innerhalb des Vermerks über das Vorhandensein der Änderung(en) besser aus dem Grau-in-Grau hervortreten. So, wie es jetzt ist, bleibt die Funktion unbemerkt/unbekannt.

                            Mehr kann ich dazu nicht sagen.

                            Und das nach dem Roman. ;-)

                            Tschö, Auge

                            --
                            Es schimmerte ein Licht am Ende des Tunnels und es stammte von einem Flammenwerfer.
                            Terry Pratchett, „Gevatter Tod“
                            1. Hallo

                              Ihr habt recht damit, dass es letztlich mir obliegt, dafür zu sorgen, dass meine Beiträge zu dem Zeitpunkt, an dem ich sie abschicke, keiner weiteren Korrektur mehr bedürfen.

                              Wenn ich dazu nicht in der Lage bin, sollte ich eben konsequenterweise aufhören hier zu posten.

                              Das wäre wahrscheinlich auch nicht die schlechteste Entscheidung.

                              Danke für das Feedback und Gruß,

                              Orlok

                              1. Hallo Orlok,

                                Wenn ich dazu nicht in der Lage bin, sollte ich eben konsequenterweise aufhören hier zu posten.

                                Das wäre wahrscheinlich auch nicht die schlechteste Entscheidung.

                                Das würde ich sehr bedauern.

                                Bis demnächst
                                Matthias

                                --
                                Signaturen sind bloed (Steel) und Markdown ist mächtig.
                            2. Hallo Auge,

                              Meiner Meinung nach sollte der Link zum Protokoll innerhalb des Vermerks über das Vorhandensein der Änderung(en) besser aus dem Grau-in-Grau hervortreten. So, wie es jetzt ist, bleibt die Funktion unbemerkt/unbekannt.

                              Du meinst Blau-in-Grau ;-)

                              Der Link, von dem wir sprechen, hat den Linktext „editiert von“? Mach doch mal einen Vorschlag, wie es auffallender dargestellt werden könnte.

                              @all:

                              Ist das überhaupt notwendig? Ist die Änderungshistorie wirklich so wichtig? Ich denke nein, eben weil wir die Beschränkungen für mögliche Bearbeitungen (es sind übrigens 20 Minuten, eine Unterscheidung zwischen angemeldet und nicht angemeldet findet hier übrigens nicht statt) haben und Moderatoren/Admins wohl keine sinnentstellenden Änderungen vornehmen werden und letztere auch die Historie löschen können, etwa wenn versehentlich persönliche Daten publiziert wurden.

                              PS: Ab 2000 resp. 2500 Punkten kann man (auch fremde) Fragen bzw. Antworten editieren, egal wie lange die Bearbeitung zurückliegt. Siehe https://forum.selfhtml.org/badges

                              Bis demnächst
                              Matthias

                              --
                              Signaturen sind bloed (Steel) und Markdown ist mächtig.
                              1. Hallo

                                Der Link, von dem wir sprechen, hat den Linktext „editiert von“? Mach doch mal einen Vorschlag, wie es auffallender dargestellt werden könnte.

                                Da bist du bei mir aber sowas von falsch. :-)

                                Ist das überhaupt notwendig? Ist die Änderungshistorie wirklich so wichtig?

                                Fassen wir mal zusammen:

                                ##Normalszenario im derzeitigen Zustand

                                • Es gibt eine zeitliche Beschränkung für Änderungen durch den Poster von 20 Minuten.
                                • Es gibt die Beschränkung, dass das zu bearbeitende Posting noch nicht beantwortet worden sein darf.

                                Alle Änderungen am Inhalt eines Postings erfolgen, mit noch aufzuzählenden Ausnahmen, vor der Beantwortung eines Postings. Das Änderungsprotokoll dürfte nur in seltenen Fällen wichtig sein, z.B. dann, wenn ein Antwortender auf etwas eingeht, was verändert oder gelöscht wurde. Das dürfte mit der 20-Minuten-Regel und der doch relativ geringen Wahrscheinlichkeit, dass die Antwort binnen 20 Minuten erfolgt und vor der Veränderung begonnen aber nach der Veränderung gespeichert wird, wenig wahrscheinlich sein.

                                ##Mögliches zukünftiges Szenario

                                Wie du schon schriebst, gibt es die Badges. Wenn auch langsam, nähern sich einige Poster der 2000-Punkte-Marke. Mit der Überschreitung dieser Grenze können sie Fragen verändern, mit 2500 Punkten gilt dies auch für Antworten. Auch wenn es aktuell verdiente Poster und die Admins dieses Forums sind, die dieses Recht haben, kann es doch mit einiger Wahrscheinlichkeit zu Begebenheiten kommen, in denen Veränderungen an Postings durch Dritte zu (eventuell sogar hitzigen) Diskussionen führen.

                                ##Was mMn in dieser Hinsicht wichtig ist

                                An der Stelle ist Transparenz das Beste, was wir haben können. Technisch ist sie mit dem Protokoll zwar da, aber sie ist mMn zu gut versteckt. In solchen eventuell hitzigen Momenten ist es von Vorteil, die Beteiligten und Interessenten nicht erst mit der Nase auf das Protokoll stoßen zu müssen. Von daher fände ich es gut, wenn es so deutlich markiert wäre, dass seine Existenz in der Breite des Publikums bekannt ist.

                                Tschö, Auge

                                --
                                Es schimmerte ein Licht am Ende des Tunnels und es stammte von einem Flammenwerfer.
                                Terry Pratchett, „Gevatter Tod“
                              2. Hallo Matthias,

                                PS: Ab 2000 resp. 2500 Punkten kann man (auch fremde) Fragen bzw. Antworten editieren, egal wie lange die Bearbeitung zurückliegt. Siehe https://forum.selfhtml.org/badges

                                Nein. Der Badge-Inhaber ist der zeitlichen Beschränkung unterworfen.

                                LG,
                                CK

                                1. Hallo Christian Kruse,

                                  PS: Ab 2000 resp. 2500 Punkten kann man (auch fremde) Fragen bzw. Antworten editieren, egal wie lange die Bearbeitung zurückliegt. Siehe https://forum.selfhtml.org/badges

                                  Nein. Der Badge-Inhaber ist der zeitlichen Beschränkung unterworfen.

                                  Danke für die Klarstellung. Vielleicht sollte man das aber ändern, so macht das Feature imho eher weniger Sinn.

                                  Bis demnächst
                                  Matthias

                                  --
                                  Signaturen sind bloed (Steel) und Markdown ist mächtig.
                                  1. Hallo Matthias,

                                    Danke für die Klarstellung. Vielleicht sollte man das aber ändern, so macht das Feature imho eher weniger Sinn.

                                    Das sehe ich (naturgemäß ;-) anders. Warum sollte der Badge-Inhaber den Beschränkungen nicht unterworfen sein? Nur Mods und Admins können bisher immer editieren, und nur Admins können die Versions-Historie löschen. Das ist Konsistent und IMHO sinnvoll.

                                    LG,
                                    CK

                                    1. Hallo Christian Kruse,

                                      Das sehe ich (naturgemäß ;-) anders. Warum sollte der Badge-Inhaber den Beschränkungen nicht unterworfen sein? Nur Mods und Admins können bisher immer editieren, und nur Admins können die Versions-Historie löschen. Das ist Konsistent und IMHO sinnvoll.

                                      Weil das Feature so keinen Mehrwert bietet, nicht für den Badge-Inhaber, denn er müsste zufällig über einen noch nicht beantworteten(?) Beitrag innerhalb der Bearbeitungszeit stolpern und auch nicht für die Moderation, denn es wird keine Arbeit abgenommen.

                                      Bis demnächst
                                      Matthias

                                      --
                                      Signaturen sind bloed (Steel) und Markdown ist mächtig.
                                      1. @@Matthias Apsel

                                        Weil das Feature so keinen Mehrwert bietet, nicht für den Badge-Inhaber, denn er müsste zufällig über einen noch nicht beantworteten(?) Beitrag innerhalb der Bearbeitungszeit stolpern und auch nicht für die Moderation, denn es wird keine Arbeit abgenommen.

                                        Full ACK.

                                        Bin eben auf dieses Posting gestoßen, kann die fehlerhaft Code-Auszeichnung aber nicht mehr berichtigen.

                                        LLAP 🖖

                                        --
                                        Ist diese Antwort anstößig? Dann könnte sie nützlich sein.
                                        1. @@Gunnar Bittersmann

                                          Weil das Feature so keinen Mehrwert bietet, nicht für den Badge-Inhaber, denn er müsste zufällig über einen noch nicht beantworteten(?) Beitrag innerhalb der Bearbeitungszeit stolpern und auch nicht für die Moderation, denn es wird keine Arbeit abgenommen.

                                          Full ACK.

                                          Bin eben auf dieses Posting gestoßen, kann die fehlerhaft Code-Auszeichnung aber nicht mehr berichtigen.

                                          Und eben wollte ich in diesem Posting den Code richtig formatieren (getrennte Code-Blöcke für CSS und HTML, wie in meiner Antwort). Ging aber nicht mehr, weil Auge schon auf das Posting geantwortet hatte.

                                          Ich halte die Beschränkungen fürs Editieren für widersinnig.

                                          LLAP 🖖

                                          --
                                          Ist diese Antwort anstößig? Dann könnte sie nützlich sein.
                          4. Hallo Orlok,

                            die Editierungs-Funktion ist noch relativ neu, die gab es bislang nicht. Die Frage wie lange ein Beitrag bearbeitbar sein sollte ist also sicherlich noch verhandelbar. Mir persönlich ist das egal.

                            Es mag ja sein, dass dies alles nur „mein Problem“ ist, aber ich muss sagen, dass die Begrenzung der Bearbeitungszeit und der dadurch aufgebaute Zeitdruck meinen Enthusiasmus mich hier einzubringen doch nicht unbeträchtlich dämpft…

                            Warum machst du dir denn Zeitdruck? Es ist doch nicht wichtig, dass der Beitrag fehlerfrei ist. Jeder macht Fehler - such mal nach einem beliebigen Namen eines Stammposters im Archiv, da wirst du so einige Schnitzer finden.

                            LG,
                            CK

    2. Hallo

      Übrigens ist es IMO wesentlich einfacher und übersichtlicher, nicht erst im DOM Attributknoten zu bauen, sondern einfach dem JS-Elementobjekt direkt die entsprechenden Eigenschaften zuzuweisen, etwa so:

      o.bgColor = "black";
      o.width = "100%";
      o.height = "100%";
      

      Abgesehen davon natürlich, dass weder bgColor noch width oder height hier erlaubte Attribute sind… ;-)

      Gruß,

      Orlok

      1. Hi,

        o.bgColor = "black";
        o.width = "100%";
        o.height = "100%";
        

        Abgesehen davon natürlich, dass weder bgColor noch width oder height hier erlaubte Attribute sind… ;-)

        stimmt, das ist mir im Eifer des Gefechts gar nicht aufgefallen. Ich vermute aber, dass die gängigen Browser das kulanterweise trotzdem wie erwartet umsetzen.

        Ciao,
         Martin

    3. window.document.body = start("");
      

      Was zum Geier soll diese Anweisung?

      ich hab getesten das window.document.body = start() oder start net die funktion start auf ruft hier nochma der überarbeitete Code

      window.document.body = start("");
      function start(e) {
      	var o	= document.createElement("div");
      	var att	= document.createAttribute("style");
      	att.value = "position: absolute; heigth: 100%; width: 100%; background-color: black;";
      	o.setAttributeNode(att);
      	var wrapper = document.getElementsByTagName("body")[0];
      	wrapper.appendChild(o);
      };
      

      wrapper is undefined kmmt ne fehler meldung :/. Muss der boddy wirklich geladen sein oder reicht das start-Tag? Grüße mb

      1. Hallo

        window.document.body = start("");
        function start(e) {
        	var o	= document.createElement("div");
        	var att	= document.createAttribute("style");
        	att.value = "position: absolute; heigth: 100%; width: 100%; background-color: black;";
        	o.setAttributeNode(att);
        	var wrapper = document.getElementsByTagName("body")[0];
        	wrapper.appendChild(o);
        };
        

        wrapper is undefined kmmt ne fehler meldung :/.

        Das wundert dich?

        Du überschreibst body mit einer Funktion und in dieser Funktion versuchst du dann body in einer Variablen zu speichern…

        Wenn ich dich richtig verstanden habe, möchtest du, solange bis deine Seite vollständig geladen ist, einen Platzhalter einblenden:

        HTML

        <body>
          <div id="welcome">
            Bitte gedulden Sie sich einen Moment: Die Seite wird noch geladen!
          </div>
          <!-- Der restliche Inhalt deiner Seite -->
        </body>
        

        CSS

        #welcome {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          /* usw… */
        }
        
        .invisible {
          display: none;
        }
        

        JavaScript

        window.addEventListener('load', function ( ) {
          document.body.firstElementChild.className = 'invisible';
        });
        

        Allerdings könnte es sein, dass die Besucher deiner Seite nicht so geduldig sind, wie du es vielleicht gerne hättest, weswegen ich mir an deiner Stelle noch einmal gut überlegen würde, ob die ganze Sache in deinem Fall wirklich sinnvoll ist…

        Gruß,

        Orlok

        1. Hi,

          window.document.body = start("");
          

          wrapper is undefined kmmt ne fehler meldung :/.

          Das wundert dich?

          Du überschreibst body mit einer Funktion ...

          nein, mit dem Ergebnis einer Funktion - und da diese Funktion kein Ergebnis liefert, mit undefined.

          Allerdings könnte es sein, dass die Besucher deiner Seite nicht so geduldig sind, wie du es vielleicht gerne hättest, weswegen ich mir an deiner Stelle noch einmal gut überlegen würde, ob die ganze Sache in deinem Fall wirklich sinnvoll ist…

          Da ist viel Wahres dran. ;-)

          So long,
           Martin

          1. Hallo

            Du überschreibst body mit einer Funktion ...

            nein, mit dem Ergebnis einer Funktion - und da diese Funktion kein Ergebnis liefert, mit undefined.

            Haarspalterei! ;-)

            Aber natürlich richtig.

            document.body = start( );
            
            function start ( ) {
              // ...
              return document.createElement('body');
            }
            

            :-P

            Gruß,

            Orlok

        2. Du überschreibst body mit einer Funktion und in dieser Funktion versuchst du dann body in einer Variablen zu speichern…

          und wie mache ich das dann??? Sry bin noch n bissl neben der spur

          Wenn ich dich richtig verstanden habe, möchtest du, solange bis deine Seite vollständig geladen ist, einen Platzhalter einblenden:

          ich will den Script vllkommen auslagern ink. div-Eleement

          window.addEventListener('load', function ( ) {
            document.body.firstElementChild.className = 'invisible';
          });
          

          className ist doch IE implementiert und getElementById Netscape/Mozille genau so ist es mit addEventListener und attachEvent. deswegen habe ichsie bewusst nicht genommen wegen der browser inkompatibilität abwärts und so. genauso ist das glaube ich mit prototyp und (funktion() { ... bla bla bla... })(); welche ziehmlich neu sind so ab 2010+ oder so, oder?

          Allerdings könnte es sein, dass die Besucher deiner Seite nicht so geduldig sind, wie du es vielleicht gerne hättest, weswegen ich mir an deiner Stelle noch einmal gut überlegen würde, ob die ganze Sache in deinem Fall wirklich sinnvoll ist…

          keine Sorge ich mach das für n projekt und da sind die übertragung net wild bezogen auf die Bild dateien