Forenindex » Archiv » Adobe GoLive » Laufzeitfehler beim Einsatz von Komponenten

Laufzeitfehler beim Einsatz von Komponenten

Bellogatchi
Beiträge gesamt: 5

18. Jul 2003, 17:03
Bewertung:

gelesen: 1453

Beitrag als Lesezeichen
Hallo zusammen,

zunächst ein Gruß an alle Forenmitglieder. Bin neu hier und erhoffe mir ein Antwort auf folgendes Problem:

Ich setze Komponenten ein, z. T. für Kopf- und Fußbereiche einer Seite, z. T. für Navigation. Wenn ich eine Komponente aktualisiere (und danach die entsprechenden Seiten aktualisert werden, in denen die Komponente verwendet wird, tritt beim IE (Vers. 6.0) ein Laufzeitfehler auf. Netscape 7 oder Opera stört das nicht.

Offenbar liegt es an folgendem Code:
Für den eine Head-Komponente wird folgender Code eingebunden:
<csactiondict>
<script type="text/javascript"><!--
var preloadFlag = false;
function preloadImages() {
if (document.images) {
preloadImagesCmp0054901F26();
preloadImagesCmp0074577E36();
preloadFlag = true;
}
}

// --></script>
</csactiondict>
Nach der Aktualisierung einer Komponente (nicht der für den Kopfbereich) wird der Code verändert und lautet nun:
<csactiondict>
<script type="text/javascript"><!--
function preloadImagesCmp0054901F45() {
if (document.images) {
over_Info_01 = newImage(/*URL*/'../img/misc/Info_02.gif');
}
}
// --></script>
</csactiondict>
Also die Preload-Funktion wird einfach gelöscht. Daraufhin meckert IE und zeigt einen Laufzeitfehler an.

Kann mir jemand sagen, was ich tun kann? Das merkwürdige ist nämlich: Lösche ich eine beliebige Komponente und binde sie daraufhin neu ein, ist alles wieder OK. Die Konsequenz wäre aber, dass ich nach der Aktualisierung einer Komponente alle betroffenen Seiten auch aktualisieren müsste. Und das will man ja gerade verhindern!

Besten Dank für Tipps?

Bellogatchi.

Laufzeitfehler beim Einsatz von Komponenten

Urs Gamper
  
Beiträge gesamt: 4027

19. Jul 2003, 09:18
Bewertung:

gelesen: 1453

Beitrag als Lesezeichen
hallo bellogatchi - willkomm!

es ist nicht möglich in komponenten head-aktionen einzubinden. alles was sich im headbereich befindet wird nicht in die seiten übernommen.

wenn du mit golive 6 arbeitest, empfehle ich dir, für solche dinge die musterseite einzusetzen. dies ist allerdings jetzt nicht mehr ganz so einfach, weil du ja vermutlich bereits die ganze website fertig erstellt hast.

--------------------------------------
http://www.gamper.ch
Gamper Internet-Auftritte und Schulung

Laufzeitfehler beim Einsatz von Komponenten

Bellogatchi
Beiträge gesamt: 5

19. Jul 2003, 19:05
Bewertung:

gelesen: 1453

Beitrag als Lesezeichen
Oops, Fehler meinerseits. Ich habe mich missverständlich ausgedrückt.

Mit Head-Bereich war der Kopfbereich der Seitengestaltung gemeint, nicht der "HEAD"-Bereich der HTML-Seite.

Insofern stehe ich immer noch ziemlich ratlos da. Golive (6) ist ja bekannt dafür, manuellen Code nicht zu verändern. Das stimmt ja soweit auch. Bei den geschilderten Komponenten ist das jedoch sehr wohl der Fall. Da ich leider kein Script-Profi bin, kann ich nicht beurteilen, wo (und warum) hier der Hase im Pfeffer liegt.

Danke für weitere Anregungen und noch ein angenehmes Wochenende.

Bellogatchi.

Laufzeitfehler beim Einsatz von Komponenten

Urs Gamper
  
Beiträge gesamt: 4027

19. Jul 2003, 22:48
Bewertung:

gelesen: 1453

Beitrag als Lesezeichen
ich binde nun schon seit es komponenten gibt, diese in jede seite ein und habe nie solche fehler. deshalb würde mich schon sehr interessieren, weshalb bei dir dieser fehler auftritt.

diese preload-funktion - hat die etwas mit rollovern zu tun? und wenn, wie wurden die eingebunden?

--------------------------------------
http://www.gamper.ch
Gamper Internet-Auftritte und Schulung

Laufzeitfehler beim Einsatz von Komponenten

Bellogatchi
Beiträge gesamt: 5

21. Jul 2003, 11:22
Bewertung:

gelesen: 1453

Beitrag als Lesezeichen
Danke, Urs, bestimmt kannst du einen entscheidenden Tipp geben. Ich will noch ein paar Hinweise posten, die hoffentlich zielführend sind.

1. Ja, die preload-Funktion lädt Rollover-Grafiken. Beispiel: Im Head-Bereich *der Komponente* steht dann:
<csactiondict>
<script type="text/javascript"><!--
function preloadImages() {
if (document.images) {
over_Info_01 = newImage(/*URL*/'../../ifbau2003/img/misc/Info_02.gif');
}
}

// --></script>
</csactiondict>

Die korrespondierende Tabellenzelle *der Komponente* sieht so aus:
<td><a title="Hilfe zur Website" onmouseover="changeImages( /*CMP*/'Info_01',/*URL*/'../../ifbau2003/img/misc/Info_02.gif');return true" onmouseout="changeImages( /*CMP*/'Info_01',/*URL*/'../../ifbau2003/img/misc/Info_01.gif');return true" href="#"><img src="../../ifbau2003/img/misc/Info_01.gif" alt="Hilfe" name="Info_01" height="15" width="20" border="0"></a></td>

Wenn die Komponente in eine Seite eingebunden wird, ändert sich der Quellcode wie folgt:
1. HEAD:
<csactiondict>
<script type="text/javascript"><!--
function preloadImagesCmp0054901F45() {
if (document.images) {
over_Info_01 = newImage(/*URL*/'../img/misc/Info_02.gif');
}
}
// --></script>
</csactiondict>
2. Verknüpfung:
<csobj csref="../../ifbau2003.data/Komponenten/head.html" h="250" occur="45" t="Component" w="808>

3. Tabellenzelle:
<td><a title="Hilfe zur Website" onmouseover="changeImages( /*CMP*/'Info_01',/*URL*/'../img/misc/Info_02.gif');return true" onmouseout="changeImages( /*CMP*/'Info_01',/*URL*/'../img/misc/Info_01.gif');return true" href="#"><img src="../img/misc/Info_01.gif" alt="Hilfe" name="Info_01" height="15" width="20" border="0"></a></td>

Meine Komponenten beinhalten im HEAD-Bereich aus einen Link zur CSS-Datei, damit ich die Komponetne vernünftig bearbeiten kann (also kontrollieren kann, wie der Bereich später eingebunden aussieht. Kann es hierbei ein Problem geben?
Ich meine mich auch erinnern zu können, dass irgendwo stand, man könne das Aussehen einer Komponente erst auf dem Webserver kontrollieren bzw. müsse mit dem Adobe-Webgroup-Server arbeiten. Letzteres habe ich auf meinem XP-Rechner nicht hingebracht. Die Ansicht funktioniert aber trotzdem.

Das ganze Spektakel kann man sich auf den provisorischen Seiten ansehen, z. B. http://www.ifbau.de/...infopoint/index.html

Bischen viel Text, aber vielleicht war ja der entscheidende Hinweis dabei.

Besten Dank für eure Hilfe und schöne Grüße in die Schweiz und anderswo.

Bellogatchi

Laufzeitfehler beim Einsatz von Komponenten

Bellogatchi
Beiträge gesamt: 5

29. Jul 2003, 18:06
Bewertung:

gelesen: 1453

Beitrag als Lesezeichen
Hallo zusammen,

hat wirklich niemand eine Idee, einen Ansatzpunkt für mein Problem?

Vielen Dank für Hinweise.

Bellogatchi.

Laufzeitfehler beim Einsatz von Komponenten

Urs Gamper
  
Beiträge gesamt: 4027

29. Jul 2003, 20:23
Bewertung:

gelesen: 1453

Beitrag als Lesezeichen
"Ich meine mich auch erinnern zu können, dass irgendwo stand, man könne das Aussehen einer Komponente erst auf dem Webserver kontrollieren bzw. müsse mit dem Adobe-Webgroup-Server arbeiten. "
dies stimmt nicht. ich arbeite ohne workgroup-server.

mit deinem code kann ich so nicht viel anfangen. einzige möglichkeit: zip an mich mit den notwendigsten dateien (inkl. site-datei), damit ich es kurz anschauen kann.

--------------------------------------
http://www.gamper.ch
Gamper Internet-Auftritte und Schulung

Laufzeitfehler beim Einsatz von Komponenten

Bellogatchi
Beiträge gesamt: 5

7. Aug 2003, 10:43
Bewertung:

gelesen: 1453

Beitrag als Lesezeichen
Danke zunächst, Urs für das Angebot.
Ich habe die Dateien nochmals untersucht und Folgendes festgestellt.

Wenn eine Komponente eingebunden wird, erzeugt GoLive einen Head-Eintrag etwa wie folgt:
<!-- START GoLive Eintrag -->
<csactiondict>
<script type="text/javascript"><!--
var preloadFlag = false;
function preloadImages() {
if (document.images) {
preloadImagesCmp0054901F17();
preloadImagesCmp003515D968();
preloadFlag = true;
}
}

// --></script>
</csactiondict>
<!-- ENDE GoLive Eintrag-->

Dieser Eintrag ist immer der gleiche, die Nummern ändern sich also nicht bei andersartigen Komponenten.

Der Eintrag im Body lautet:

<csobj csref="../../projekt.data/Komponenten/komp_test.html" h="39" occur="23" t="Component" w="190"><p>Mein Komponententext.</p>
</csobj>

Sobald ich an der Komponente eine Änderung vornehme und die Datei speichere, verschwindet beim Aktualisieren der HEAD-Eintrag aus der Datei, in die die Komponente eingebunden werden soll. Der Body-Eintrag bleibt. Dann kommt ein Laufzeitfehler "Objekt erwartet". Danach funktioniert wider Erwarten alles wie gewohnt.

Dies ist so in der Vorschau von GoLive 6.1, beim IE Vers. 6, aber nicht bei Netscape 7.0 oder Opera 7.03.

Wenn ich die Komponente lösche und neu einbinde, geht alles wieder. Der Eintrag im HEAD ist wieder drin.

Die Komponente kann nur aus einem Textschnipsel bestehen. Es ist immer das gleiche.
Muss/Darf auch ein <HEAD>-Eintrag in einer Komponente vorkommen? Sonst kann man ja (ohne Einbindung des Style-Sheet) schlecht das Layout kontrollieren. Oder gibt es bestimmte Elemente, die dort unbedingt vorkommen müssen? Ich bin ratlos.

Helfen diese Angaben? Vielen Dank für Tipps.

Herzlichst, Bellogatchi.