colaholiker
Mitglied
Hallo,
ich bin dabei einen Viewer für Bilder und Texte erstellen und habe dazu einige Fragen.
Die Funktion: mit einem Button in einer Tabelle wähle ich das File in derselben Zeile aus.
Wenn ein Image oder ein Textfile erkannt wird soll der Content angezeigt werden.
Ich hab das bisher für Images geschafft. Die Code-Teile:
Erklärungen:
Den Pfad muß ich (leider) aus einer Angabe in <h1> filtern, da er in der URL nicht auftaucht.
Ich nutze eine Dialogbox für die Anzeige.
Der Code unter if ( fnEnd == '.txt' ) ist nur ein Dummy, das ist noch Baustelle.
Fragen:
- Die Möglichkeit, diese Dialogbox auch zum Anzeigen der Texte zu nutzen würde mich interessieren, aber auch ein anderer/ besserer Ansatz um die vorhandene Webseite durch den "View" nicht zu beeinflussen.
- Kann man Element- Eigenschaften in der Dialogbox (visible) mit Javascript umschalten? Dann kämen Elemente für die Textausgabe dazu und "visible" müßte für Text/Grafik gegenläufig umgeschaltet werden.
- beim Test des oberen Codes: bei Aufruf einer nächsten Grafik (die Dialogbox war schon geschlossen) wird erst kurz das vorherige Bild gezeigt. Wie kann ich das verhindern (Tests mit Cache löschen waren erfolglos)?
-vielen Dank!-
ich bin dabei einen Viewer für Bilder und Texte erstellen und habe dazu einige Fragen.
Die Funktion: mit einem Button in einer Tabelle wähle ich das File in derselben Zeile aus.
Wenn ein Image oder ein Textfile erkannt wird soll der Content angezeigt werden.
Ich hab das bisher für Images geschafft. Die Code-Teile:
Code:
<h1 id= 'h1_id'>Directory: SD/a-Arbeitsfiles/images</h1>
<dialog id='view-dialog'>
<img id='view-img' alt='nicht darstellbar. ' />
<button class='dia3btn' id='close-dialog3'>schließen</button>
</dialog>
<script>
function showFile (fileName) {
var
host = window.location.hostname,
posPkt = fileName.lastIndexOf('.'),
fnEnd = fileName.substring(posPkt);
h1txt = document.getElementById('h1_id').textContent,
posPkt = h1txt.lastIndexOf(':'),
path = h1txt.substring(posPkt+4);
if ( fnEnd == '.jpg' ||
fnEnd == '.png' ||
fnEnd == '.bmp' ||
fnEnd == '.gif' ) {
var
a = document.getElementById('view-img'),
src = 'http://' + host + path + '/' + fileName;
a.src = src;
console.log('==========my ges.path: ');
console.log(src);
}
if ( fnEnd == '.txt' ) {
var
h1txt = document.getElementById('h1_id').textContent,
posPkt = h1txt.lastIndexOf(':'),
path = h1txt.substring(posPkt+2),
readFile = path + '/' + fileName;
}
}
</script>
Erklärungen:
Den Pfad muß ich (leider) aus einer Angabe in <h1> filtern, da er in der URL nicht auftaucht.
Ich nutze eine Dialogbox für die Anzeige.
Der Code unter if ( fnEnd == '.txt' ) ist nur ein Dummy, das ist noch Baustelle.
Fragen:
- Die Möglichkeit, diese Dialogbox auch zum Anzeigen der Texte zu nutzen würde mich interessieren, aber auch ein anderer/ besserer Ansatz um die vorhandene Webseite durch den "View" nicht zu beeinflussen.
- Kann man Element- Eigenschaften in der Dialogbox (visible) mit Javascript umschalten? Dann kämen Elemente für die Textausgabe dazu und "visible" müßte für Text/Grafik gegenläufig umgeschaltet werden.
- beim Test des oberen Codes: bei Aufruf einer nächsten Grafik (die Dialogbox war schon geschlossen) wird erst kurz das vorherige Bild gezeigt. Wie kann ich das verhindern (Tests mit Cache löschen waren erfolglos)?
-vielen Dank!-