eins vorweg: Javascript ist für mich noch totales Neuland, ich probiere schon seit Stunden eine einfache html Seite mit ein wenig Javascript zu erstellen.
Der eigentliche Javascript Code in der html Seite dient lediglich dazu, 1) eine TextDatei mit 100 Dateinamen einzulesen als Array 2) von dem Array 9 zufällige Dateinamen, keine doppelten, auszuwählen und dann 3) mit "document.write" die 9 zufälligen Dateinamen als links (href) in der html Seite zu generieren. Hat dann immer den Vorteil wenn man die Seite neulädt immer wieder 9 neue Zufällige Bilder links erzeugt werden, so jedenfalls ist mein Wunschgedanke. Achso, dass ganze Offline, direkt aus einem Ordner heraus, alle dateien liegen direkt in dem Ordner, soll das ganze funktionieren. Leider funktioniert das ganze nicht so.
Nun dachte ich kann mir das Array "myArray" als return Wert aus der Funktion readTextFile() ausgeben lassen aber leider bekomme ich unter Chromium immer nur "undefined"
Was mache ich den falsch ?
hier der "aktuelle" Javascript Teil aus der html Seite:
Code: Alles auswählen
<script>
function readTextFile(filePath){
var myArray = new Array(4);
var rawFile = new XMLHttpRequest();
rawFile.open("GET", filePath , true);
rawFile.send(null);
rawFile.onreadystatechange = function (){
if(rawFile.readyState === 4){
if(rawFile.status === 200 || rawFile.status == 0){
var allText = rawFile.responseText;
//console.log(allText);
var lines = allText.split(/\r\n|\r|\n/g);
for (var line = 0; line < lines.length; line++){
//console.log('line: ' + lines);
myArray.push(lines[line]);
}
//console.log('return1');
return myArray;
}
}
}
}
//readTextFile('dv_screenshots.txt')
function showArray(theArray){
var quote = "";
for (var i = 0; i < theArray.length; i++){
quote += theArray[i] + " ";
}
return quote;
}
</script>
<script>
var x = readTextFile('dv_screenshots.txt');
document.write(showArray(x));
</script>
40781
und hier ein verkürzter Auszug aus der TextDatei die, die Name enthält
Code: Alles auswählen
dv_screenshot_00:00:22.png
dv_screenshot_00:00:56.png
dv_screenshot_00:02:16.png
dv_screenshot_00:03:06.png
dv_screenshot_00:03:46.png
dv_screenshot_00:04:01.png
dv_screenshot_00:05:16.png
dv_screenshot_00:05:51.png
dv_screenshot_00:07:09.png
dv_screenshot_00:08:46.png
dv_screenshot_00:10:12.png
dv_screenshot_00:11:42.png
... usw.