Bitte geben Sie einen Grund für die Verwarnung an
Der Grund erscheint unter dem Beitrag.Bei einer weiteren Verwarnung wird das Mitglied automatisch gesperrt.
V6 - JS/JQ in Plugin-Elementen
V6 macht es einem aber schon schwer, Plugins dafür zu entwickeln.
JS und JQuery funktioniert scheinbar erst, wenn die Seite komplett geladen ist.
Wenn man das aber in Elementen verwenden will, die nicht die Fußzeile sind, dann gibt es nur Errors in der Konsole.
2
3
Uncaught ReferenceError: xobor is not defined
Uncaught ReferenceError: $ is not defined
Wenn man zB. im Element thread_after_message Variablen oder JQuery verwenden will, geht das nicht.
Kann man also erst ausführen, wenn die Seite Geladen ist, Dann sind aber alle Beiträge schon durch die Schleife gelaufen.
Beispiel:
Ich muss die sessionstorage Variable einlesen, bevor die Schleife für die Beiträge durchlaufen wird, da innerhalb der Schleife der Wert aus sessionstorage gebrucht wir.
Einziger Ausweg wäre warscheinlich, die sessionstorage entweder in der Fußzeile zu laden, oder mit onload warten bis die Seite geladen ist. Dann muss ich aber wieder mit einer Schleife alle Beiträge nochmal durchlaufen lassen, um nachträglich die Manipulation an den Beiträgen vorzunehmen.
Dadurch habe ich aber erst einmal das auf dem Bildschirm, was ich eigentlich nicht sehen soll. Bei langsamen Verbindungen oder lamen Geräten halt um so länger. Das ist nicht im Sinne des Erfinders.
www.friends-of-xobor.de (621181 - Template kann wechsel bei Pluin Tests)
www.seniorenclub-sel-koeln.de (578865 - V6 Template)
Hey Mike.
Das ist schon Absicht so. Es gehört heutzutage zum guten Programmierstil, dass größere Bibliotheken erst am Seitenende geladen werden.
Dabei geht es gerade um die von dir angesprochenen langsamen Internetverbindungen, die früher oft erst einmal wertvolle Sekunden gar nichts zu sehen bekamen, bis dann endlich Jquery und ggf. zugehörige Addons geladen waren.
Wenn du in deinen Plugins Dinge veränderst, gibt es verschiedene Möglichkeiten die vorherige Anzeige zu vermeiden. Du kannst z.B. weiter oben einen css-tag ausgeben, der die Beiträge erst einmal ausblendet - oder die opacity auf 0 stellt - bis dein Script vollständig geladen ist.
Oder du lädst Javascript und das Xobor.js schon weiter oben. Das geht natürlich auch, hätte aber wie gesagt negative Auswirkungen auf die Ladezeit.
Oder du machst das was du machen musst mit "Vanilla JS", ohne Jquery. Im Zweifel hilft chatgpt gerne bei der "übersetzung":
https://chat.openai.com/chat
#3 RE: V6 - JS/JQ in Plugin-Elementen
ich warte ein paar Minuten Millisec
in dem ich von dieser Warte-Funktion aus starte
2
3
4
5
6
7
8
9
10
11
12
13
14
do_afterwait=function() {
if (typeof(xobor) =='object' && xobor.mbt) {
console.log("xobor.mbt verfügbar");
} else{
console.log("xobor.mbt nicht da");
}
if (typeof($) =='object') {
console.log("jquery verfügbar");
} else{
console.log("jquery nicht da");
}
}
window.setTimeout(do_afterwait,500);
ach sehe schon, bei deinem Problem hilft es nicht ..... erst lesen - dann schreiben
sorry-
ich arbeite mit document.body.style.visibility ,
erst wenn ich alle Manipulationen durchgeführt habe, ändere ich von "hidden" auf "visible". Bilde mir ein, danach geht das Rendern der Seite schneller.
Vielleicht noch als Ergänzung:
Ich stimme dir völlig zu, dass die Entwicklung im V6 komplexer ist als in den alten Templates.
Das liegt aber hauptsächlich daran, dass mit dem Aufkommen der mobilen Enderäte die Web-Programmierung insgesamt viel komplexer geworden ist.
Wo man früher mit einem Designer die perfekte Pixelbreite für irgendeinen Inhalt bestimmen konnte muss man nun Wege finden, den gleichen Inhalt auf allem mögliche Geräten "gut" aussehen zu lassen. Das gelingt nur, wenn man vielleicht auf dem Handy einen kürzeren Text oder eine kleine Grafik ausgibt als am PC. Und das wiederum macht jegliche Entwicklung um einiges komplizierter, das lässt sich leider nicht vermeiden.
Die Xobor Plugi API wird scheinbar auch erst am Ende der Seite geladen. dadurch ist im Inline Element kein getdeep, sessionstorage, localstorage, getData nusw. möglich.
Das folgert also, dass ich für das V6 komplett anders vorgehen muss.
Ich muss also erst warten, bis die Seite geladen ist, und dann statt zB. das Inline topic_question_inline_after_message zu benutzen, die ganzen Beiträge noch mal dur die Schleife laufen lassen, um dann zu manipulieren. Vorher wie schon gesagt, am besten die Elemte unsichtbar machen bis sie manipuliert sind.
Mal sehen, ob ich das zufriedenstellend hinbekomme.
www.friends-of-xobor.de (621181 - Template kann wechsel bei Pluin Tests)
www.seniorenclub-sel-koeln.de (578865 - V6 Template)
- Informationen
- Aktuelle News
- Forum Tutorials - Tipps und Anleitungen
- SEO / Werbung fürs Forum
- Verwaltung
- Extras
- Design
- Plugin(system)
- Eure Fragen zu Tutorials
- Forum Support
- Fragen und Antworten
- Pluginsystem
- Plugins
- Templates & Sprachen
- Bugreport
- Verbesserungsvorschläge
- Sponsoren gesucht
- Das neue Xobor Business-Template
- News und Updates
- Bugreport
- Allgemeines Feedback
- Verbesserungsvorschläge
- Sonstiges
- Kaffeeklatsch
- Lob & Kritik
- Verbesserungsvorschläge
- Allgemeine Fragen
- Fehlermeldungen
- Verbesserungsvorschläge Responsive Design
- Bugreport Responsive Design
- Archiv - Alter Betatest
- Responsive Design - Verbesserungsvorschläge
- Responsive Design - Bugreport
- Fragen zum neuen Template
- Neue Administration Beta Test
- Bugreport Neue Administration
- Allgemeines Fragen & Feedback
- Verbesserungsvorschläge zur neuen Administration
- Shoutbox
Ähnliche Themen
Jetzt anmelden!
Jetzt registrieren!
© 2017 Xobor | Forum-Software