Comments (8)
Der Bug steht in Verbindung mit einem Hack des Dynatree Autors, der rekursives Laden von "lazy" nodes über AJAX ermöglicht:
https://code.google.com/p/dynatree/issues/detail?id=222&q=keypath&colspec=Stars%20ID%20Type%20Status%20Modified%20Priority%20Milestone%20Owner%20Summary (5. Post)
Dafür wird ein bestimmtes Event getriggert, was wiederum einen rekursiven callback auslöst. Klappt auch alles problemlos.
Der Bug tritt nur auf, wenn ein Pfad zum ZWEITEN male geladen wird. Das heisst, startet man von Anfang an die App mit "/TechUnits" als angegebenem Pfad anstatt "/", dann wird auch der Knoten korrekt expandiert. lediglich beim zweiten Laden des Pfads gibt es den Fehler (jquery.dyntree.js:1527).
Ich konnte die Quelle nun soweit zurückverfolgen:
Nachdem ich den Port des Servers über getServer herausgefunden habe, übergebe ich diesen mit einem Event an eine andere Stelle des Programms:
Application.js
$('#view-table').trigger('setPort',
{
port: data.getElementsByTagName('port')[0].textContent,
serverName: data.getElementsByTagName('path')[0].textContent
}
);
main.js
$('#view-table').on('setPort', function(e, data) {
conn.setPort(data.port);
app.getRoot($('#tree').dynatree('getRoot'), data.serverName);
});
Rufe ich die beiden Befehle direkt ohne das Event auf, dann tritt der Bug nicht auf:
conn.setPort(data.port);
app.getRoot($('#tree').dynatree('getRoot'), data.serverName);
Ich vermute, dass sich die beiden Events irgendwie in die Quere kommen, habe nur leider absolut keine Ahnung wie. Vielleicht habt ihr ja eine Idee?
from henson.
Hat es was mit dem caching vom letzten ajax request zu tun. Man kann das caching über .ajaxSetup abschalten.
Am 07.11.2013 um 20:47 schrieb christoph-sachsenhausen [email protected]:
Der Bug steht in Verbindung mit einem Hack des Dynatree Autors, der rekursives Laden von "lazy" nodes über AJAX ermöglicht:
https://code.google.com/p/dynatree/issues/detail?id=222&q=keypath&colspec=Stars%20ID%20Type%20Status%20Modified%20Priority%20Milestone%20Owner%20Summary
Dafür wird ein bestimmtes Event getriggert, was wiederum einen rekursiven callback auslöst. Klappt auch alles problemlos.Der Bug tritt nur auf, wenn ein Pfad zum ZWEITEN male geladen wird. Das heisst, startet man von Anfang an die App mit "/TechUnits" als angegebenem Pfad anstatt "/", dann wird auch der Knoten korrekt expandiert. lediglich beim zweiten Laden des Pfads gibt es den Fehler (jquery.dyntree.js:1527).
Ich konnte die Quelle nun soweit zurückverfolgen:
Nachdem ich den Port des Servers über getServer herausgefunden habe, übergebe ich diesen mit einem Event an eine andere Stelle des Programms:Application.js
$('#view-table').trigger('setPort',
{
port: data.getElementsByTagName('port')[0].textContent,
serverName: data.getElementsByTagName('path')[0].textContent
}
);
main.js$('#view-table').on('setPort', function(e, data) {
conn.setPort(data.port);
app.getRoot($('#tree').dynatree('getRoot'), data.serverName);
});
Rufe ich die beiden Befehle direkt ohne das Event auf, dann tritt der Bug nicht auf:conn.setPort(data.port);
app.getRoot($('#tree').dynatree('getRoot'), data.serverName);
Ich vermute, dass sich die beiden Events irgendwie in die Quere kommen, habe nur leider absolut keine Ahnung wie. Vielleicht habt ihr ja eine Idee?—
Reply to this email directly or view it on GitHub.
from henson.
nein, kein unterschied
from henson.
Ne, wahrscheinlich nicht ;(
Vermutung 2: kann es sein, dass data zwischenzeitlich sich verändert?
from henson.
nein, es ist egal ob ich data benutze oder den port mit "7509" manuell reinschreibe
der einzige unterschied ist wirklich das event, was getriggert wird...
from henson.
Kann sein, dass das event über eine kette mehrmals ausgelöst wird?
from henson.
ja, das wars:
$('#server-name').change(function() {
zu
$('#server-name').off('change').change(function() {
sonst wird der immer wieder neu getriggert
in wie weit das jetzt aber mit dem anderen event interagiert hat, weiss ich immer noch nicht genau. vermutlich wurde es mehrmals in kurzem abstand getriggert und zwischenzeitlich hat sich der dynatree geändert...
from henson.
gibts n commit?
from henson.
Related Issues (20)
- cshmi iframe inhalt muss auch zentral gefunden werden. HOT 7
- zenmode so breit wie möglich HOT 1
- Ajax timeout
- Loading indicator HOT 5
- Bug
- Enter in hostname Feld ruft kein Load auf HOT 5
- Loading is too high
- Paths in der URL werden falsch aufgelöst
- Variable Baumbreite HOT 5
- Anzeige von techUnit bei Variablen HOT 1
- instanciate Eingabefeld für Zielobjekt splitten
- Variablenanzeige hat ein zeilenumbruch zuviel
- rename optimierungen
- Load vs refresh HOT 2
- Engineering fb direkt auf template ermöglichen HOT 1
- Plug-in Requirements asynchron
- plugins[i].activate.baseClass sollte ein Array sein
- Ordentliche Meldung, wenn kein KS-Server läuft
- Beim refresh merkt henson nicht wo er gewesen ist
- TIME_SPAN-Variablen können nicht gesetzt werden HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from henson.