• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Fehler in Javascriptkonsole FF

Lioba

New member
Hallo!

Ich wollte wieder anfangen, mein script weiter zu programmieren und habe festgestellt, dass es nicht mehr funktioniert. Ich kann mich allerdings nicht dran erinnern, irgendwas daran verändert zu haben, sodass es einen grund hätte, auf einmal nicht mehr zu laufen. Das einzige was ich gemacht habe, ist, dass ich den FF neu installiert habe aber sonst nichts...

Die Javascriptkonsole im Firefox hat mir auch nicht die üblichen Fehler gezeigt die normalerweise bei meinem Script auftauchen sondern einen anderen, mit dem ich nichts anfangen kann. Ich wäre sehr dankbar, wenn mir jemand sagen könnte, was dieser Fehler bedeutet und welchen Hintergrund er hat (vielleicht irgendwelche zugriffsrechte oder so...)

Hier ist er:
Fehler: uncaught exeption: Die Erlaubnis für das Lesen der Eigenschaft Window.bewegen wurde verweigert

Fehler: uncaught exeption: Die Erlaubnis für das Lesen der Eigenschaft Window.clearTimeout wurde verweigert
 
Hi Lioba,

hast du eventuell irgendwo "Window.bewegen" deklariert? Schreib mal "window" klein. Vielleicht ist das der Fehler. Ansonsten poste doch bitte dein Script.

Gruß,
narmolanya
 
Hätte ja sein können, dass das "window"-Objekt gemeint ist :confused:

Also wie ein schlauer schon sagt: alert(Window);

Gruß,
narmolanya
 
okay werde ich machen ich schreib dann zurück wenn ichs verändert habe, danke für die antworten!
 
okay ich hab jetzt nochmal nachgeschaut, die beiden Befehle clearTimeout und bewegen werden so an ein I-Frame übergeben:

Bsp:
Code:
<area shape="poly" href="#" coords="49,36,66,6,87,19" 
onmouseover="parent.frames[0].bewegen(\'or\', this);" 
onmouseout="parent.frames[0].clearTimeout(this.timer);"/>

Das hat bisher immer einwandfrei geklappt!
Der Fehler wird also vermutlich von der Seite im IFrame gesendet da die Konsole ja "Window" nennt und nicht "parent.frames[0]", oder?

Was bedeutet denn "uncaught exeption" überhaupt und dass etwas verweigert wird? Welche Hintergründe kann sowas haben?

Was meint ihr denn mit alert(window)? Inwiefern hilft mir das?

Vielen dank für eure Geduld!
 
Ich weiß ja nicht, warum Deine Fehlerkonsole Dich nicht mag, aber meine zeigt mir die exakte Stelle, wo sie den Fehler vermutet.
Da Du immer nur irgendwelche Fetzen postest, muss man annehmen, Du willst den Fehler alleine aufspüren. Alles was wir aus Deinen bisherigen Posts herausinterpretieren oder erraten konnten, haben wir bereits gesagt - viel Spaß bei der weiteren Fehlersuche!
 
also meine javakonsole mag mich manchmal wirklich nicht... in diesem fall zeigt sie nämlich keine zeilen an...

ich wollte es eigentlich vermeiden den ganzen code zu posten er ist so lang... aber nun gut wenn du es so sagst ^^°

(hier ist übrigens das script)

Ich verstehe jetzt wenn ihr nicht den code lesen wollt, falls ihr noch ideen habt was dieser fehler bedeutet könnt ihr den posten, das wär toll.

Funktion die für das Frame benutzt wird:
Code:
function SHOW_AREA_WITH_USER($areaID, $userID)
{
	//Area berrechnen
	$areaInfo = get_area_info($areaID);

	$background = get_bg_by_areaID($areaInfo['areatype']);
	$raster = make_new_raster($areaInfo['hoehe'], $areaInfo['breite']); //liegt in funtions_create_landscape.php
	$uRaster = make_underground_raster($areaInfo['images'], $raster); 
	$raster = make_raster($areaInfo['images'], $raster); //liegt in funtions_create_landscape.php; macht das Raster anhand der images
	$borderAreas = get_area_border_array($areaID, $areaInfo['regionID']);

	//erstelle die Ränder angrenzender Areas
	foreach($borderAreas AS $richtung => $richtung_array)
	{
		$js_ausgabe .= "\n";
		$js_ausgabe .= 'borderArea["'.$richtung.'"] = new Object;';
		$js_ausgabe .= "\n";
		
		if($borderAreas[$richtung]['areaID'])
		{
			$js_ausgabe .= 'borderArea["'.$richtung.'"]["areaID"] = '.$borderAreas[$richtung]['areaID'].';';
			$js_ausgabe .= "\n";	
			$js_ausgabe .= 'borderArea["'.$richtung.'"]["hoehe"] = '.$borderAreas[$richtung]['hoehe'].';';
			$js_ausgabe .= "\n";	
			$js_ausgabe .= 'borderArea["'.$richtung.'"]["breite"] = '.$borderAreas[$richtung]['breite'].';';
			$js_ausgabe .= "\n";	
		}
		
		foreach($richtung_array AS $i => $wert)
			if(is_numeric($i))
			{
				$eingabe = "false";
				if($wert == 1)
					$eingabe = "true";
				$js_ausgabe .= 'borderArea["'.$richtung.'"]['.$i.'] = '.$eingabe.';';
				$js_ausgabe .= "\n";
			}
	}
	
	//erstelle den begehbaren Weg
	foreach($raster AS $index => $wert)
	{
		$eingabe = 'false';
		if($wert)
			$eingabe = 'true';
		$js_ausgabe .= 'weg["'.$index.'"] = '.$eingabe.';';
		$js_ausgabe .= "\n";
	}
	//erstelle das "untergrund-raster", basis für den Z-Index der user
	foreach($uRaster AS $index => $wert)
		if(is_numeric($wert))
		{
			$js_ausgabe .= 'underground["'.$index.'"] = '.$wert.';';
			$js_ausgabe .= "\n";
		}
	
	//User Positionen laden
	$positions = get_user_pos($userID);
	if(empty($positions))
	{
		$posX  = 1;
		$posY  = 6;
		$richtung = 'u';
	}
	else
	{
		$posX  = $positions['X'];
		$posY  =  $positions['Y'];
		$richtung = $positions['richtung'];
	}

	//Übersetzung der PHP-Daten in JS
	$ausgabe .= '
	<script type="text/javascript" src="functions_move/Character.js" ></script>
	<script type="text/javascript" src="functions_move/GetUserInfo.js" ></script>
	<script type="text/javascript" src="functions_move/OtherUsers.js" ></script>
	<script type="text/javascript">
	<!--
	//Charakterbildwechsel
	var USER_ID = '.$userID.';
	var NEU_LADEN = true;
	richtungen = ["r", "l", "o", "u"];
	CharImgs = new Object();
	for (index in richtungen)
		for(i=0;i<=2;i++)
		{
			CharImgs[richtungen[index]+i] = new Image();
			CharImgs[richtungen[index]+i].src = "charsets/figur"+USER_ID+"_"+richtungen[index]+i+".png";
			CharImgs[richtungen[index]+i+"_swim"] = new Image();
			CharImgs[richtungen[index]+i+"_swim"].src = "charsets/figur"+USER_ID+"_"+richtungen[index]+i+"_swim.png";
		}

	//Landschaftsdaten
	var rasterbreite = '.$areaInfo['breite'].';
	var rasterhoehe = '.$areaInfo['hoehe'].';
	var POSX = '.$posX.';
	var POSY = '.$posY.';
	var AREA_ID = '.$areaID.';
	var top,left;
	

	left = rechne_position(POSX, '.CASKED.');
	top = rechne_position(POSY, '.CASKED.');

	//Wege erstellen (Begehbarkeitsweg und Z-Index-Weg)
	weg = new Array();
	underground = new Array();
	borderArea = new Object();
	'.$js_ausgabe.'
	
	//andere User laden
	setTimeout("getOtherUserPositions(0)",1);
		
	//Characterbild vor oder hinter Objekt bzw. User stellen
	//setTimeout(function(){get_zIndex("Character",POSX, POSY, "leer");}, 2);
	-->
	</script>
	';

	//erstellt nun das Raster mit allen Objekten und dem User
	//die anderen user werden mithilfe von JS angezeigt
	$figur['posX'] = $posX;
	$figur['posY'] = $posY;
	$figur['id'] = 'Character';
	$figur['name'] = 'figur'.$userID.'_'.$richtung.'1';
	$ausgabe .= show_figur_on_raster($raster, $areaInfo['images'], $background, $uRaster, $figur);
	return $ausgabe;
}

?>

Quelltext des Frames selbst
Code:
<?
include 'config.php';
include 'functions.php';
?>
<html>

<head>
<title></title>
<link rel="stylesheet" type="text/css" href="design.css" />
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="designIE.css" />
<![endif]-->

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Gilbert Davis -->
<!-- Begin
function loadImages() 
{
	if (document.images && document.getElementById)// DOM3 = IE5, NS6 
	{
		document.getElementById('hidepage').style.visibility = 'hidden';
		document.getElementById('hidepage').style.zIndex = 0;
		FERTIG_GELADEN = true;
		setInterval("getOtherUserPositions(1)",3000);
	}	   
}
//  End -->
</script>
</head>

<body onload="loadImages()"/>



<div id="hidepage"
style="position: absolute;
left:0px;
top:0px;
background-color: white;
height: 100%;
width: 110%;
visibility: visible;
z-index: 30000;
text-align: center;
padding-top: 240px;
">

<div style="width: 100px; height: 50px; margin: 0 auto;">
<img src="Images/loading.gif"/>
</div>

</div>

<?
if(!empty($_REQUEST['userID']))
{
	$areaID = get_user_area($_REQUEST['userID']);
	if(empty($areaID))
		$areaID = AREA_ID;
	
	$userID = $_REQUEST['userID'];
	$_SESSION['userInfo']->areaID = $areaID;
	$ausgabe = SHOW_AREA_WITH_USER($_SESSION['userInfo']->areaID, $userID);
}
else
	$ausgabe = 'Fehler: Die Landkarte konnte nicht geladen werden';
$ausgabe .= '<p id="info"></p>'; 
echo $ausgabe;
?>
</body>
</html>
 
Also:

Ich habe mir den Code jetzt wirklich nicht gegeben. Die genannte Fehlermeldung ist meines Wissens nach eine SecurityException, richtig?

Diese wird in der Regel beim Aufruf einer fremden URL geworfen. Beispielsweise ist dies der Fall, wenn man versucht via AJAX-Request auf eine andere URL zuzugreifen. Könnte mir vorstellen, dass ein ähnliches Problem hier auch beim iFrame besteht.

Hmmmm ... Hilft dir vermutlich jetzt nicht unbedingt weiter, oder? Werde mal schauen, ob ich Zeit finde den Code doch noch zu lesen :)

Im Browser kommt PHP Code an? Damit kann er natürlich nichts anfangen!

Ich denke, dass hier "roher Source" gepostet worden ist, oder Lioba?

Gruß,
narmolanya
 
@narmolanya: ja richtig das ist "roher" source... nein du brauchst den code nicht anzuschauen, ich mach meistens immer riesenprojekte und deswegen möchte ich meinen code auch niemanden antun, ich hoffe immer darauf, die Fehler selbst herauszubekommen. (meistens funktioniert es...)

Diese wird in der Regel beim Aufruf einer fremden URL geworfen. Beispielsweise ist dies der Fall, wenn man versucht via AJAX-Request auf eine andere URL zuzugreifen. Könnte mir vorstellen, dass ein ähnliches Problem hier auch beim iFrame besteht.
okay das könnte mir helfen! jetzt weiß ich wenigstens was der fehler ungefähr meint...

ich versuche jetzt mal die funktion innerhalb des frames anzusprechen und schau mal was die konsole mir sagt...
 
Okay ich habe es geprüft. es liegt wirklich an der Übergabe der Befehle in das I-Frame, ich bin völlig verwirrt, das hat vorher immer geklappt! ich versteh die welt nicht mehr... -.-

EDIT:
ich habe "parent.frames[0]" durch "parent.userfeld" ersetzt und jetzt klappt es wieder, fragt mich nicht warum... naja hauptsache es funktioniert wieder! *freu*
 
Zuletzt bearbeitet:
Also ich weiß nicht, dass der Code funktioniert ist schon ein Wunder. Deine Seite sind alle im Quirksmode, d.h. im fehlerbehaftenen "ich rate"-Modus, wenn man sich den Quelltext anschaut kann man sich nur wundern.

Hier z.b.: http://2.webbiest.de/userfeld.php?userID=2#
PHP:
<pre></pre><pre></pre><pre></pre><pre></pre><pre></pre><pre></pre><pre></pre><pre></pre><pre></pre><pre></pre><pre></pre><pre></pre><pre></pre><pre></pre><pre></pre><pre></pre><pre></pre><pre></pre><pre></pre><pre></pre><pre></pre><pre></pre><pre></pre><pre></pre>

Was soll das denn?

Oder hier:
<area shape="poly" href="#" coords="49,36,6,25,26,5"
onmouseover="parent.userfeld.bewegen('ol', this);"
onmouseout="parent.userfeld.clearTimeout(this.timer);"/>
Dir ist klar was this ist? Das ist die Referenz auf die area. this.timer kann also eigentlich kein timer Objekt sein.

<img name="moveImg" src="Images/kompass.png" style="height: px; width: px;" usemap="#move_navi">
Was sind das für Style angaben? und warum das Bild innerhalb der map Deklaration, das ist falsch.

Das überhaupt was passiert ist schon sehr erstaunlich, ansonsten sieht der Ansatz nett aus.
 
@ein schlauer: Cool danke für deine Codeanalyse... ich habe meinen code noch von niemanden untersuchen lassen! Also das wiederholte <pre> kommt von irgendeiner schleife bei der ich nen array so ausgegeben:
Code:
echo '<pre>';
var_dump();
echo '</pre>';
dann das echo auskommentiert und den rest vergessen habe. Passiert mir öfters.. ^^
Code:
style="height: px; width: px;"
Ahh super ich glaube das ist einer der fehler die ich die ganze zeit gesucht habe danke!

Quirksmode, d.h. im fehlerbehaftenen "ich rate"-Modus
Was wäre denn eine alternative dazu und was macht denn diesen quirksmode überhaupt aus? Ich habe nicht dagegen mich zu verbessern ^^

Das überhaupt was passiert ist schon sehr erstaunlich
jahaa nicht wahr?
 
@rené: ich glaube, ein schlauer spricht nicht (nur) vom HTML sondern vom JS oder PHP code, deswegen ist der Link den du mir gegeben hast nur für die "Verschönerung" meines HTML-Sources gut...

EDIT: pit-r hat mich darauf hingewiesen den hauptgrund für den anfänglichen fehler in meinem script zu posten. Es war ein eingenistetes I-Frame, das sich irgendwie installiert hatte. Deswegen konnte ich es auch mit parent.frames[0] nicht aufrufen, da es ja logischerweise eine fremde url beeinhaltete, näheres hier
 
Zuletzt bearbeitet:
@rené: ich glaube, ein schlauer spricht nicht (nur) vom HTML sondern vom JS oder PHP code, deswegen ist der Link den du mir gegeben hast nur für die "Verschönerung" meines HTML-Sources gut...
Hi Lioba,
wenn ein schlauer das Wort Quirksmode erwähnt, dann hat er mitnichten eine "Verschönerung" eines HTML-Source im Auge, sondern genau das, was in dem von René geposteten Link steht:
...Nach den Regeln einer SGML- oder XML-basierten Auszeichnungssprache ist eine HTML-Datei oder eine XHTML-Datei erst dann eine gültige (valide) Datei, wenn sie einen bestimmten Dokumenttyp angibt und sich dann innerhalb des restlichen Quelltextes genau an die Regeln hält, die für diesen Dokumenttyp definiert sind....
W3C hat die gültigen Doctypes definiert und hier kannst Du dich auch noch mal schlau machen.

Verstehen allerdings, dass Du Dich jetzt mal vorrangig um den Angriff auf Deine Seiten kümmern musst.

Gruß Anna
 
Hey Anna danke für deine Antwort (bist du auch pokemonfan??? *hihi*)

Verstehen allerdings, dass Du Dich jetzt mal vorrangig um den Angriff auf Deine Seiten kümmern musst.

ja das ist echt nervend, heute war der kram wieder da und ich würd ja gern alles löschen aber meine nachhilfeschüler benutzen ein vokabelprogramm auf meinen seiten, das sie öfters benutzen...

ich hab dem typen jetzt eine mail geschrieben mal schauen was daraus wird...
 
Hey Anna danke für deine Antwort (bist du auch pokemonfan??? *hihi*)
Ne, bin ich nicht, aber ich liebe Schildkröten (vielleicht weil meine Schnelligkeit, Dinge zu begreifen, sich proportional zu deren Fortbewegungsgeschwindigkeit verhält.

ich hab dem typen jetzt eine mail geschrieben mal schauen was daraus wird...
Weiß nicht, ob das was bringt. Würde an Deiner Stelle diesen Rat Albu's beherzigen:
Wenn Du selbst keine Drittanbieter Software (Forum, Gästebuch, usw.) einsetzt und Du vor einem Audit Deiner PHP Quellen zurückschreckst, könntest Du auch erst einmal mit Deinem Provider quasseln. Dort kannst Du Deinen Fall schildern und gfs. um Unterstützung bei der forensischen Analyse bitten, um den Angriffsvektor ausfindig zu machen. Vielleicht ist ja auch die Software des Providers defekt. Oder die Angreifer sind über einen, auf dem gleichen Rechner gehosteten, anderen Webauftritt eines weiteren Kunden eingedrungen und haben einen Rundumschlag auf dem kompletten Rechner gemacht.
Auf jeden Fall sollte der Provider Logdateien haben, die z.B. FTP Zugriffe zeigen, dort kann man zumindest rausfinden, wann der Angriff stattgefunden hat.
 
Ne, bin ich nicht, aber ich liebe Schildkröten (vielleicht weil meine Schnelligkeit, Dinge zu begreifen, sich proportional zu deren Fortbewegungsgeschwindigkeit verhält.

Och schade, ich glaube diese Modelle laufen mit dem alter einfach aus...
(Aber Schildkröten-Fan ist ja auch was feines ;-)

Meinen Provider habe ich heute angeschrieben, mal sehen was passiert...
 
Zurück
Oben