Ein altes Script zum Funktionieren bringen?

Webhufi

Erfahrenes Mitglied
Hallo,

ich habe auf meiner Nostalgie-Page aus dem Jahr 2002 eine nette Bildershow, die aber in den neuen Browsern nicht funktioniert. Meint ihr, dass ihr die Präs zum Laufen bringen könnt? Das wäre mir ein besonderes Anliegen...

Schaut bitte hier.

Viele Grüße

Norbert
 
Lösung
Ich habe noch Mal genauer hingesehen und festgestellt, dass diese ID nur im HTML-Inspektor klein geschrieben ist, im Quelltext jedoch groß. Irgend etwas, wahrscheinlich ein Script, dreht daran. Einfacher als es zu analysieren, ist es wahrscheinlich, es im Javascript auf Kleinschreibung zu ändern, ab Zeile 141:
Code:
function ShowSuzyPic(newpic) { // Shows the photo and text on the page.
  current = newpic;
  SelectionBox = document.SuzyForm.SuzyDropdown;
  SelectionBox.options[current].selected = true;
  document.getElementById("SuzySpot").innerHTML = '<a href=javascript:SuzyPicRemote("' + ActiveArray[current].PicVal + '");><img name="PicShowing" src=' + ActiveArray[current].PicVal + ' height=200 border=0></a>';

  // hier "journal" klein schreiben...
Da gibt es jetzt etwas was noch schöner ist, eine Bilderschau wo man die Seiten fast naturgetreu umblättern kann. Schau mal hier:
https://ulrichbangert.de/orchid/index.php#Orchideenbilder/5Hat ein paar Euro gekostet aber das war es mir wert und inzwischen gibt es vielleicht auch etwas kostenloses.
Das einzige Problem sehe ich darin, dass Du ein CMS hast und man nicht weiß, ob man es mit den Möglichkeiten dort einbauen kann.

BTW: Du kannst ja richtig gut zeichnen, Klasse z. B. das mit Don Quichote!
 
PS: Ich habe einen Blick auf den Code geworfen und anscheinend ist der Fehler ziemlich simpel: Im HTML ist "journal" klein geschrieben, im Javascript aber groß: "Journal". Wenn Du das korrigierst, sollte es eigentlich in allen Browsern laufen.
 
Oha! Das Orchideenalbum ist schon prima, aber ich bestehe in diesem meinem Fall halt mal auf Nostalgie... ;)Aber auf einer anderen Seite würde ich das durchaus gerne verwenden, macht echt Spaß! Einbindung in mein CMS wäre kein Problem, denke ich.

Danke für das Lob! :-) Der Don war aber nur eine wirklich sehr kurze Ablenkung im blöden Mathe-Unterricht, als ich mit 14 Jahren momentan keinen Bock mehr hatte... Ich habe lange gezweifelt, ob ich das zeigen soll. Aber für eine Einskommafünf-Minuten-Pause zwischen Quadratwurzeln schien mir diese Eingebung doch recht gut. ;-)

Deinen Hinweis habe ich natürlich probiert. Aber es sind dennoch Fehler drinne: Das Album lässt sich einfach nicht nicht korrekt durchblättern.

Falls das alles zu tricky ist, lass es einfach. Dann bleibt die Page halt so, mit diesen Fehlern. Ich kann zwar durchaus hartnäckig sein, sehe aber auch ein, wenn etwas gar nicht so will wie ich es mir vorstelle.
 
Ich habe noch Mal genauer hingesehen und festgestellt, dass diese ID nur im HTML-Inspektor klein geschrieben ist, im Quelltext jedoch groß. Irgend etwas, wahrscheinlich ein Script, dreht daran. Einfacher als es zu analysieren, ist es wahrscheinlich, es im Javascript auf Kleinschreibung zu ändern, ab Zeile 141:
Code:
function ShowSuzyPic(newpic) { // Shows the photo and text on the page.
  current = newpic;
  SelectionBox = document.SuzyForm.SuzyDropdown;
  SelectionBox.options[current].selected = true;
  document.getElementById("SuzySpot").innerHTML = '<a href=javascript:SuzyPicRemote("' + ActiveArray[current].PicVal + '");><img name="PicShowing" src=' + ActiveArray[current].PicVal + ' height=200 border=0></a>';

  // hier "journal" klein schreiben:
  document.getElementById("journal").outerHTML = '<div id=journal><br><b>' + ActiveArray[current].TitVal + '</b><p>' + ActiveArray[current].DatVal + '<p style="text-align:justify; text-indent:25px">' + ActiveArray[current].TxtVal + '</div>';
  if (document.SuzyForm.WhereView[1].checked) {
    timerID = setTimeout("SuzyPicRemote(ActiveArray[current].PicVal)",1000)
  }
  if (document.SuzyForm.SelectedMode[0].checked) {
    timerSlideShow = setTimeout("NextSuzyPic();",document.SuzyForm.Timer.value*1000)
    LoadNextPic();
  } else {
    LoadNextPic();
  }
}
 
Lösung
Das ist kein Hexenwerk, sondern genau genommen hat der Debugger den Fehler gefunden und mir gezeigt. Er unterstreicht die betr. Zeile rot und gekringelt.
 
Na also: Doch ein Werk von dir! Man muss damit umgehen können... Danke nochmals!

Übrigens: Weißt du (noch), woher die Worte "Bug" und "Debug" ursprünglich stammen? Das ist echt lustig...
 
Nachsatz

Deine Seite mit den herrlichen Orchideen hat mir so gut gefallen, dass ich etwas Ähnliches bastle. Hier ein Tipp für andere Anwender: Auf dieser Page gibt es tolle Anleitungen und einen Hinweis auf ein kostenloses Programm dazu.
 
Ein weiteres Problem:

Bei Klick auf das Vorschaubild in diesem Retro-Album öffnen sich die Bilder in unterschiedlichen Fenstergrößen.

Bei den ersten vier Bildern ging ich so vor, dass ich eine Vorlage in A4 erstellt und dann die Originale hineinkopiert habe, damit man die echten Größenverhältnisse sieht, nicht nur aus dem Text heraus die Größe ahnt. Danach sind noch die alten Bilder drin (wobei noch einige hinzukommen müssen...)

Ich finde nicht heraus, wie ich das Browserfenster so einstellen kann, dass immer komplett die Größe A4 angezeigt wird, allerdings etwas gestaucht, also vielleicht auf 600 px Höhe und/oder 800 px Breite.

Im Code habe ich etwas herumgespielt, siehe unten, aber es klappt nicht...

function SuzyPicRemote(picName) { // Pops up the photo in a remote window.
ShowingImage = new Image();
ShowingImage.src = picName;
wid = ShowingImage.width + 110; // Bildgröße festlegen
hei = ShowingImage.height + 180;
if (wid < 30 || hei < 30) {
wid=350;
hei=390;
}
if (screen.width < wid || screen.height < hei) {
wid = screen.width - 150;
hei = screen.height - 150;
}

Klar geht das nicht responsive. Es wäre aber nett, wenn man wenigsten den kompletten Bildbereich (automatisch) in das Browserfenster kriegen würde.

Einen Test habe ich hier hochgeladen:
 
Zurück