H2OnePagers

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
Post Reply
lck
Posts: 2054
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: H2OnePagers

Post by lck » Mon Nov 07, 2016 9:08 pm

Nachtrag, siehe Post weiter oben.

Vermutlich liegt das Problem bei innerWidth (Problem Scrollleiste). Das Problem hatten wir schon mal, siehe hier.

Zwei Workarounds funktionieren. Eventuell kann aber auch einer von den js-Gurus das Navigations-script anpassen.
1) stylesheet.css ergänzen:

Code: Select all

@media only screen and (min-width: 971px) {
.nav_horizontal {
    height: 40px !important;
    top: 0 !important;
}
} 
2) Oder noch einfacher, den Wert bei:

Code: Select all

@media only screen and (max-width : 970px)
/* ändern zu */
@media only screen and (max-width : 986px)
986px = Breite Browserfenster + Scrollleiste (ca.16px); dann wären wir wieder bei 970px wie das script es will.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

frase
Posts: 3482
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: H2OnePagers

Post by frase » Tue Nov 08, 2016 7:29 am

Hi Ludwig,
danke, danke, danke!

Habe mich für die 1. Version entschieden, da man nie weiß, wie breit die Scrolleiste bei den Usern gerade ist.
Ist schon online, aber noch nicht im Download-Zip.
Jetzt gibt es endlich keinen 15px-Black-Screen mehr.
Da ich es nicht selbst lösen konnte, hatte ich mich für das "wu-wei-Prinzip" entschieden. Was ungefähr bedeutet: "Verändern ohne einzugreifen".
Hat geklappt :lol:

frase
Posts: 3482
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: H2OnePagers

Post by frase » Tue Nov 08, 2016 9:28 am

@Christoph
Nachmal zu deinem RolleRückwärts-Script.
Ich denke, dein Ansatz wäre auf jeden Fall besser.

Im Moment erzeugt es Links wie z.B.:
?Anwendung#Anwendung%2FBesonderheiten

Aus irgendeinem Grund klappt das aber nicht - eigentlich gibt es ja <article id="Anwendung%2FBesonderheiten">.
Warum springt er nicht dorthin?
Liegt das daran, das nur Elemente wie <h1> angesprungen werden können?

Edit:
Mit <article id="Anwendung/Besonderheiten"> funktioniert es (in der Konsole geändert).

Holger
Site Admin
Posts: 3236
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany
Contact:

Re: H2OnePagers

Post by Holger » Tue Nov 08, 2016 9:59 am

Das funktioniert wohl nicht, weil die Ids ungültige Zeichen enthalten.
W3.org wrote: ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
siehe https://www.w3.org/TR/html4/types.html#type-id

Damit macht man es sich auch an anderer Stelle schwer. Zum Beispiel müssen Sonderzeichen wie "%" etc. in JavaScript escaped werden, da sie dort eine besondere Bedeutung haben.
Ähnliche Probleme wird es auch mit Anführungszeichen geben.

An anderer Stelle habe ich das Problem so gelöst, dass ich den String zuerst auch mit uenc() urlkodiert habe (dann wird urichar_org / urichar_new benutzt) und danach alle Zeichen bis auf [A-Za-z0-9-_] ersetzt habe. Zuletzt habe ich am Anfang noch eine konstante Buchstabenkombinantion davor gesetzt - in der Hoffnung so gültige und auch eindeutige Ids zu erhalten :? .

frase
Posts: 3482
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: H2OnePagers

Post by frase » Tue Nov 08, 2016 10:14 am

@Holger
Weißt du, dass ich das wusste.
Mir fiel es nur nicht ein :cry:
Das anchorific.js macht es ja auch!

Also müsste in Christophs Skript die ID für die <article> anders erzeugt werden?
Und dann im Subnav Sript auch noch das Linkziel?
Ich glaube, das wird dann doch zu viel.

frase
Posts: 3482
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: H2OnePagers

Post by frase » Tue Nov 08, 2016 10:32 am

@Holger
Na, da sagst du was ...
Das ist ja bei den Onepagern genau so!
Habe gerade mal bei meinem "fhs-op2" aus "Home" -> "Home?" gemacht.
Katastrophe!

Holger
Site Admin
Posts: 3236
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany
Contact:

Re: H2OnePagers

Post by Holger » Tue Nov 08, 2016 10:38 am

frase wrote:Ich glaube, das wird dann doch zu viel.
Na ja, eigentlich ist der Aufwand nicht hoch.
Ich frage mich halt nur, wie man am besten eindeutige Ids aus den Überschriften erstellt. Meine oben beschriebene Variante ist vielleicht zu paranoid, aber sie wird in einem Plugin verwendet und nutzt auch Seitenüberschriften zur Erzeugung von Ids. Deshalb stelle ich eine konstante Zeichenkette jeder "meiner" Ids voran.

Übrigens könnte man das "Chaos" nebenbei auch gleich lösen, indem man den jeweiligen numerischen Seitenlevel $l und / oder den eindeutigen Seitenindex $s mit zur Bildung der Ids heranzieht.
Eigentlich nicht so schwer, denke ich. Nur wie macht man es richtig?

Holger
Site Admin
Posts: 3236
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany
Contact:

Re: H2OnePagers

Post by Holger » Tue Nov 08, 2016 10:45 am

frase wrote:Na, da sagst du was ...
Das ist ja bei den Onepagern genau so!
Ja, das war mir bekannt. Deshalb habe ich mir ja auch beim oben beschriebenen Plugin, eine neue Version von acDIVs, darüber noch einmal einige Gedanken gemacht.

Eine Lösung scheint mir möglich zu sein. Nur sollten wir das WIE genau überlegen. Oder, wenn wir uns mal wieder nicht entscheiden können, eine optionale oder konfigurierbare Lösung vorsehen :? .

frase
Posts: 3482
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: H2OnePagers

Post by frase » Tue Nov 08, 2016 10:55 am

Das wäre dann eine Aufgabe für die Programmierer.
Eindeutige IDs erzeugen, die keine Sonderzeichen enthalten.
Ich denke, das wäre für viele Sachen wichtig!

Bei anchorific.js wird das per JavaScript erledigt.
Ich weiß aber nicht, was dort bei Doppelbyte-Charsets (Chinesisch?) passiert.
Ein verzwicktes Thema ...

Holger
Site Admin
Posts: 3236
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany
Contact:

Re: H2OnePagers

Post by Holger » Tue Nov 08, 2016 11:18 am

frase wrote:Das wäre dann eine Aufgabe für die Programmierer.
Eindeutige IDs erzeugen, die keine Sonderzeichen enthalten.
Ich denke, das wäre für viele Sachen wichtig!
Die große Masse an Sonderzeichen bekommt man ja schon mit urichar_new /_org weg, automatisch, eben durch Anwendung von uenc(). Filtert man danach nur noch das % - Zeichen aus, sollten die Ids zumindest schon einmal funktionieren. Für die Eindeutigkeit würde ich die im Core vorhandenen Möglichkeiten nehmen ($l / $s). Und eben noch sicher stellen - vielleicht mittels festem Präfix, dass die Id mit einem Buchstaben beginnt.
frase wrote:Bei anchorific.js wird das per JavaScript erledigt.
Ja, hier:

Code: Select all

name: function( obj ) {
            var name = obj.text().replace( /[^\w\s]/gi, '' )
                                .replace( /\s+/g, '-' )
                                .toLowerCase();

            return name;
}, 
Das ist aber auch nicht (immer und gaaanz sicher) eindeutig.
frase wrote:Ich weiß aber nicht, was dort bei Doppelbyte-Charsets (Chinesisch?) passiert.
Die bestehen, nach Urlkodierung, ja nur noch aus einer % + Zahlen - Kolonne. Wenn die % - Zeichen ausgefiltert werden, bleibt nur noch eine Zahlenreihe zuzüglich einem von uns definierten Präfix, oder?

Post Reply