Hab den Plan jetzt aufgegeben und mach es mit den einzelnen Dateien, die ich einfach aufrufe. Jetzt versuche ich es so zu machen, dass automatisch, wenn das untere Ende der Seite erreicht wird die nächste Datei geöffnet wird. Das funktoniert auch. Das Problem ist nur, dass ich nicht, wenn ich am oberen Rand bin die Seite davor nutzen kann. Ich hab das versucht, indem ich die Scrollposition benutze. Ist die Scrollbar am Ende kommt die nächste Seite, ist sie am Anfang, die vorherige. Dazu Scrolle ich beim Aufruf der Seite 1px nach unten. Leider wechselt er dennoch zur Vorherigen seite. Die aufgerufene Seite wird nur ganz kurz angezeigt.
Code:
Spoiler anzeigen
while 1
GUICtrlSetData($ButtonNext,$o_doc.body.scrollTop)
if $o_doc.body.scrollTop=($o_doc.body.scrollHeight-$o_doc.body.clientHeight) then
setFile($pos+1)
$pos+=1
elseif $o_doc.body.scrollTop=0 then
setFile($pos-1)
$pos-=1
endif
sleep(100)
WEnd
Func setFile($nr=-1)
if $nr>-1 and $nr<UBound($spinesar)-1 then
$file=_ArraySearch($manifestsar,$spinesar[$nr],0,0,0,0,1,0)
local $drive,$dir,$name,$ext
_PathSplit ($GlobalReadPath&""&$manifestsar[$file][1], $drive,$dir,$name,$ext)
;msgbox(48,"",$drive&$dir&$name&$ext)
if $ext<>".html" then
if $ext=".xhtml" then
$path=$drive&$dir&$name&".html"
$path=StringReplace($path,$GlobalReadPath&"","")
$manifestsar[$file][1]=$path
FileMove($drive&$dir&$name&$ext,$drive&$dir&$name&".html")
_IENavigate($IE,"file:///" &$GlobalReadPath&""&$manifestsar[$file][1])
else
$fileData=FileRead($GlobalReadPath&""&$manifestsar[$file][1])
$ar=stringsplit($manifestsar[$idx][1],"")
$pfad=$ar[UBound($ar)-1]
$fileData=StringRegExpReplace($fileData,"<body(.*?)>","<body>",1)
$fileData=StringRegExpReplace($fileData,"<head(.*?)>","<head>",1)
$betw=_StringBetween($fileData,"<body>","</body>")
_IEBodyWriteHTML($IE,$betw[0])
endif
else
_IENavigate($IE,"file:///" &$GlobalReadPath&""&$manifestsar[$file][1])
endif
$IE.document.parentWindow.scroll(0, 1)
endif
EndFunc
Jetzt stellt sich mir die Frage, woran das liegt, bzw. ob man das auch besser lösen kann.Ich hoffe, es hat jemand eine Idee