Felix Riesterer: Eingestellte Verhalten bei Hotspots funktionieren nicht

Beitrag lesen

Lieber niemalsmeister,

interessant, dass Du Dir selbst antwortest...

Hier kommt noch der Code im Head:

Ein Link zu einer Testseite im Internet wäre mir in diesem Fall lieber gewesen. Aber schauen wir einmal.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<script language='JAVASCRIPT' type='text/javascript'>

Soweit keine Auffälligkeiten. Das language-Attribut kannst Du getrost in die Tonne treten, das ist ein Relikt aus Uraltzeiten.

<!--
var win=null;
function NewWindow(mypage,myname,w,h,pos,infocus){
if(pos=="random"){myleft=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;mytop=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
if(pos=="center"){myleft=(screen.width)?(screen.width-w)/2:100;mytop=(screen.height)?(screen.height-h)/2:100;}
else if((pos!='center' && pos!="random") || pos==null){myleft=0;mytop=20}
settings="width=" + w + ",height=" + h + ",top=" + mytop + ",left=" + myleft + ",scrollbars=no,location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no";win=window.open(mypage,myname,settings);
win.focus();}
/

So, hier wird mir etwas schwummrig. Dieser Code wird vom (Alp-)Träumeweber verbrochen, oder? Ich sehe in Deinem vorherigen Code keine Verwendung der Funktion "NewWindow" - warum steht sie in Deinem Dokument? Außerdem sehe ich an ihrem Ende einen bösen Syntax-Fehler: Ein einzelner Slash nach der letzten Funktionszeile. Der muss _unbedingt_ weg! Hier versucht der JavaScript-Interpreter etwas zu verstehen und scheitert, da ein einzelner Slash ein Divisions-Zeichen ist, welches hier völlig ohne Kontext zwangsläufig zu einem Fehler führt. Ein doppelter Slash (also //) hingegen verwandelt den Rest der Zeile in einen Kommentar. Das wäre von der Syntax her wieder in Ordnung, und ich vermute, dass das hier auch einst ein Kommentar hat sein sollen (vermutlich eine Versions-Anzeige, wie bei den anderen Funktionen auch), der aber irgendwie verstümmelt wurde.

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

Auch für diese Funktion sehe ich keine Verwendung. Warum steht sie in Deinem Dokument? Jede Funktion die Du nicht nutzt, könnte zu Deinen "Fehlern" beitragen, die angeblich vom Browser angezeigt werden...

function MM_showHideLayers() { //v9.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3)
  with (document) if (getElementById && ((obj=getElementById(args[i]))!=null)) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}
//-->
</script>

So, jetzt kommen wir der Sache schon näher. Das ist die Funktion, die Du tatsächlich mit Deinem mouseover-Event benutzt. Ich sehe in dieser Funktion keinen Syntax-Fehler (was nicht verwundert, da sie von Dreamweaver erstellt wurde). Daher kann ich nur vermuten, dass wegen obigem Slash nach der NewWindow-Funktion der JavaScript-Interpreter komplett streikt und deswegen keine der Funktionen mehr kennen will - und deshalb rennt Dein mouseover ins Leere.

Liebe Grüße aus Ellwangen,

Felix Riesterer.

--
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)