xobor.plugin('xy').call("bbcodeLive", ... )

13.04.2023 22:56
#1 xobor.plugin('xy').call("bbcodeLive", ... )
l2
Mitglied

hallo,

wir testen das Rätselplugin und sind ratlos ...

man möge doch mal diesen kurzen Block innerhalb eines Plugins testen.

1
2
3
4
5
6
7
8
 
	for (var n=1; n<10; n++) {
var translate={text:n+".loop"}
console.log("XX translate-test: "+translate.text);
xobor.plugin('raetsel').call("bbcodeLive",translate,function(res_tr){
console.log("XX bbcodelive: "+res_tr);
});
}
 
 



wende ich die Funktion falsch an oder wo ist der Fehler?
Warum werden nicht mehr alle Texte zurückgeliefert?





... würde es „Fussball spielen” heissen

vG Bernd‍

 Antworten

 Beitrag melden
14.04.2023 09:04 (zuletzt bearbeitet: 14.04.2023 09:04)
avatar  Ingmar
#2 RE: xobor.plugin('xy').call("bbcodeLive", ... )
avatar
Technik

Du kannst nicht einfach in einer for-Schleife Ajax-Calls an den Server senden. Da ist es nur eine Frage der Zeit, bis du von Server geblockt wirst.

Auch wenn hier ja "nur" etwas bbcode "übersetzt" werden soll ist ja jeder Call ein ganz normaler Serverabruf, der entsprechende Serverlast erzeugt.

Zitat von l2otbart_57 im Beitrag #1
bbcodeLive


Wenn ich mich richtig erinnere gab es bei dieser Funktion ein hard-limit von maximal einem Aufruf pro Sekunde. Auch das sollte aber nach Möglichkeit nicht ständig ausgenutzt werden. Ganz allgemein sollte/muss JEDER Ajax-Call auch durch eine Benutzer-Aktion ausgelöst werden und nicht einfach so im Hintergrund passieren.

Viele Grüße,
Ingmar


 Technik · Homepagemodules.de · Miranus GmbH

 Antworten

 Beitrag melden
14.04.2023 10:04 (zuletzt bearbeitet: 14.04.2023 10:07)
avatar  Mike48
#3 RE: xobor.plugin('xy').call("bbcodeLive", ... )
avatar
Mitglied

Ich meine, vor Kurzem hat das in meinem Plugin aber funktioniert.
Jetzt kommt immer das erste Result zurück.

1
2
3
4
5
6
7
8
9
10
 
{{message.startlist}}
var translate = {
text: BBCode),
};
xobor.plugin("rateforum02").call("bbcodeLive",translate,function(res){
tmp_html_wert = res;
console.log("loesung_zeigen "+res);
});

{{message.end}}
 


www.friends-of-xobor.de (621181 - V4 Template)
www.seniorenclub-sel-koeln.de (578865 - V6 Template)

 Antworten

 Beitrag melden
14.04.2023 10:08
avatar  Ingmar
#4 RE: xobor.plugin('xy').call("bbcodeLive", ... )
avatar
Technik

Zitat von Mike48 im Beitrag #3
Ich meine, vor Kurzem hat das in meinem Plugin aber funktioniert.



Das SOLL nicht funktionieren. Daher werde ich jetzt auch nicht versuchen herauszufinden, warum es nicht mehr geht.

Wenn es auch bei "normaler" Nutzung nicht klappt (also wenn die Funktion nur nach einer Benutzer-Aktion aufgerufen wird) und ihr mir da ein Beispiel nennt schaue ich gerne, wo das Problem liegt.

Viele Grüße,
Ingmar


 Technik · Homepagemodules.de · Miranus GmbH

 Antworten

 Beitrag melden
14.04.2023 10:09
avatar  Ingmar
#5 RE: xobor.plugin('xy').call("bbcodeLive", ... )
avatar
Technik

Zitat von Mike48 im Beitrag #3
Ich meine, vor Kurzem hat das in meinem Plugin aber funktioniert.
Jetzt kommt immer das erste Result zurück.

1
2
3
4
5
6
7
8
9
10
 
{{message.startlist}}
var translate = {
text: BBCode),
};
xobor.plugin("rateforum02").call("bbcodeLive",translate,function(res){
tmp_html_wert = res;
console.log("loesung_zeigen "+res);
});

{{message.end}}
 




Auch hier werden im Zweifel 50 calls (bei 50 Nachrichten pro Seite) an den Server gesendet - und das bei JEDEM Seitenaufruf.

Das geht so nicht...

Viele Grüße,
Ingmar


 Technik · Homepagemodules.de · Miranus GmbH

 Antworten

 Beitrag melden
14.04.2023 10:14
avatar  Mike48
#6 RE: xobor.plugin('xy').call("bbcodeLive", ... )
avatar
Mitglied

Sorry.

Vorher hatte ich den call bei jedem erstellen eines Beitrages aufgerufen.
Da aber die dataVar im Quellcode der Seite zu sehen war, hatte ich es geändert und erst beim anzeigen den call aufgerufen.

Also ist alles wieder für Katz.

Ich frage mich aber immer noch, warum die datVar Variablen immer in der Seiten Quelle zu sehen ist.
Hidden Variablen sind doch auch nicht zu sehen und eine dataVar hat auch keine TBL Version. Wird im JS behandelt wie eine Hidden-Var.


www.friends-of-xobor.de (621181 - V4 Template)
www.seniorenclub-sel-koeln.de (578865 - V6 Template)

 Antworten

 Beitrag melden
14.04.2023 10:47
avatar  Ingmar
#7 RE: xobor.plugin('xy').call("bbcodeLive", ... )
avatar
Technik

Zitat von Mike48 im Beitrag #6
Ich frage mich aber immer noch, warum die datVar Variablen immer in der Seiten Quelle zu sehen ist.


Damit sie von Plugins abgerufen werden können, OHNE dass dafür ein Ajax-Call an den Server nötig wird.
Datavars stehen sowohl per Javascript, als auch im Template-Code zur Verfügung.

Viele Grüße,
Ingmar


 Technik · Homepagemodules.de · Miranus GmbH

 Antworten

 Beitrag melden
14.04.2023 11:12 (zuletzt bearbeitet: 14.04.2023 11:14)
avatar  Mike48
#8 RE: xobor.plugin('xy').call("bbcodeLive", ... )
avatar
Mitglied

Zitat von Ingmar im Beitrag #7
Datavars stehen sowohl per Javascript, als auch im Template-Code zur Verfügung.

Einfügen kann ich dataVar aber nur als JS-Insret.
TBL-Insert steht nicht zur Verfügung so wie bei configVar.


www.friends-of-xobor.de (621181 - V4 Template)
www.seniorenclub-sel-koeln.de (578865 - V6 Template)

 Antworten

 Beitrag melden
14.04.2023 11:43
avatar  Ingmar
#9 RE: xobor.plugin('xy').call("bbcodeLive", ... )
avatar
Technik
Viele Grüße,
Ingmar


 Technik · Homepagemodules.de · Miranus GmbH

 Antworten

 Beitrag melden
14.04.2023 12:14 (zuletzt bearbeitet: 14.04.2023 12:15)
avatar  Mike48
#10 RE: xobor.plugin('xy').call("bbcodeLive", ... )
avatar
Mitglied

Habe ich noch nie so verwendet, aber jetzt mal getestet.
Jetzt wird mir auch klar, warum die DataVar im Seitenquelltext zu sehen ist.
Wäre es nicht sinnvoll, auch einer DataVar das Attribut Hiddenvar geben zu können?


www.friends-of-xobor.de (621181 - V4 Template)
www.seniorenclub-sel-koeln.de (578865 - V6 Template)

 Antworten

 Beitrag melden
14.04.2023 12:16
avatar  Ingmar
#11 RE: xobor.plugin('xy').call("bbcodeLive", ... )
avatar
Technik

Nicht wirklich. Sobald ein Besucher Leserechte für den "Inhalt" hat, für den die Datavar gespeichert ist, kann er auch die Datavar lesen.

Ein Mitglied welches die Daten aus dem Quellcode ausliest, ist im Zweifel auch schlau genug, den Javascript-Call zu machen, um an die Daten zu kommen.

Viele Grüße,
Ingmar


 Technik · Homepagemodules.de · Miranus GmbH

 Antworten

 Beitrag melden
14.04.2023 12:26 (zuletzt bearbeitet: 14.04.2023 12:28)
avatar  creator
#12 RE: xobor.plugin('xy').call("bbcodeLive", ... )
cr
Mitglied

Für das Rätselplugin stelle ich mir eher sinnvoll vor, Zugriffsrechte dynamisch über Action-Elemente aktualisieren zu können.

Beispiel: Beim Erstellen einer Frage haben die Data-Variablen für die Antwort nur Lese- und Schreibrechte für den Ersteller der Antwort und für Moderatoren und Administratoren. Nach der Aktion "Antwort als richtige Antwort markieren" erhalten alle Nutzer Leserechte für alle Antworten in Data-Variablen für dieses Fragethema.

Aber soweit ich weiß, gibt es momentan noch Probleme mit Action-Elementen, also wird es denke ich erst einmal nicht so schnell möglich sein.


 Antworten

 Beitrag melden
14.04.2023 12:38
avatar  Mike48
#13 RE: xobor.plugin('xy').call("bbcodeLive", ... )
avatar
Mitglied

Ich habe die DataVar Rechte so eingestellt dass der Ersteller des Beitrag und Admin und Mods Schreib- und Leserechte habe.
Die DataVar zu erstellen hat nur der Ersteller des Beitrag.
Zusätzlich zum Ersteller haben die Mitglieder noch Leserechte.

In Action-Elemten gibt es nach meiner Erfahrung aber keine Möglichkeit, die Rechte einer DataVar zu ändern.

Die Lösungen werden also in der SeitenQuelle zu sehen sein.


www.friends-of-xobor.de (621181 - V4 Template)
www.seniorenclub-sel-koeln.de (578865 - V6 Template)

 Antworten

 Beitrag melden
Bereits Mitglied?
Jetzt anmelden!
Mitglied werden?
Jetzt registrieren!