Läuft Fläschchen lokal. Ich möchte, um Bilder anzuzeigen, basierend auf Namen generiert, die in JavaScript

Ich bin mit d3 und Fläschchen zur Anzeige von Baum-Diagrammen im browser. Die ganze Sache ist gespeichert und wird betrieben vor Ort.

Ich möchte die Anzeige eines entsprechenden Bildes, wenn der Benutzer mit der Maus über die einzelnen Knoten in der Baum-Diagramm.

Für die JSON-Daten, dass der Baum-Diagramm beruht auf, ich bin mit url_for und meine statische Ordner, wie diese:

d3.json("{{ url_for('static', filename=json_data) }}", function(error, flare) {
    // Lots of code

Die gleiche Sache, für die einschließlich der d3:

<script src="{{ url_for('static', filename='d3.js') }}"></script>

Jedoch, wenn es um die Bilder, die ich will erscheinen, schweben, ich bin mit den Daten aus dem JSON zu erstellen, die den Namen des Bildes. Da dies bedeutet, dass mithilfe von JavaScript-Variablen, anstatt python diejenigen, die ich nicht sehen kann, wie die Anzeige es mit url_for.

Als alternative habe ich versucht, mit einer Reihe von verschiedenen absoluten und relativen Pfaden, aber hat nichts geklappt. Ich lese etwas über Firefox nicht wollen, um anzeigen lokaler Dateien, aber sicherlich nicht für Dinge ausführen von meinem computer? Ich kann die Anzeige eine Reihe von lokalen Dateien in meinem browser in der Regel. So oder so, habe ich installiert ein add-on namens LocalLink. Dies ist der code, den ich versuchte zu verwenden, die mit dieser Methode:

var img_path;
d3.selectAll( ".node" ).on( "mouseover", function(d) {
  img_path = "{{ image_path }}" + d.name + ".png";
  document.getElementById('thumb').src=img_path;
  document.getElementById('thumb').style.display='block';

Hier die python-abbildpfad variable ist etwas entlang der Linien von r"file:///C:/Python27/my/app/Ordner/etc/"

Diese fast funktioniert. Die Bilder erscheinen nicht auf zu schweben, aber wenn ich mit Firebug und bewegen Sie den Mauszeiger über das entsprechende tag in HTML, das richtige Bild zeigen, nicht als thumbnail neben meinem cursor.

Ich habe versucht, erstellen Sie eine einfache HTML-Seite mit einem Bild bezieht sich auf einen "Datei:///....." Lage. Das funktioniert. Das macht mich denken, dass es ist die Flasche, das ist das problem mit dieser Methode. Es scheint nicht, ein problem zu haben mit absoluten Pfaden für web-Standorte (habe ich getestet, und es funktioniert), so dass ich vermute, dass die Kolben nicht wie die absoluten Pfade zu den lokalen Speicherorten.

So, es gibt mehrere Möglichkeiten, wie könnte dies lösbar sein:

  • Es ist ein Weg, um url_for mit Variablen erzeugt im JavaScript.
  • Es gibt einen Weg, um Informationen zurück, um eine python-variable, und verwenden Sie, dass in url_for.
  • Es gibt einen Weg, um Fläschchen zu, zeigen die Bilder mit dem "file:///....." format.

Gibt es andere Möglichkeiten?

Die einzige andere Möglichkeit ich habe darüber nachgedacht, bewegt sich das ganze online. Allerdings bin ich nicht sehr vertraut mit Python hosting, und diese Anwendung verwendet werden Verdreht und PyQT. Ich habe keine Ahnung, wie ich gehen würde, über Sie zu installieren, die auf einem server. Ich weiß gar nicht, ob das, was ich aufgebaut habe würde arbeiten online, können Sie verwenden Sie Verdrillte oder PyQT auf einer live-website? Ich habe nur ein vages Gefühl dafür, was Verdreht auch tut.

Wenn die Leute denken, das ist meine beste/einzige option ist, werde ich eine detaillierte Erklärung, wie mein Programm funktioniert, aber bis zu diesem Punkt werde ich nicht Durcheinander Dinge.

InformationsquelleAutor jkdune | 2013-09-25
Schreibe einen Kommentar