mmofacts.com

IE und JS-Fehler

gepostet vor 18 Jahre von Klaus
Da hat man eben etwas geskriptet was im FF und Opera läuft, da wagt es doch dieser IE eine Fehlermeldung auszuspucken.
Aber mehr als "Das Objekt unterstüzt diese Aktion nicht." kann er nicht sagen. Gibt es eine Möglichkeit da mehr Details rauszuquetschen oder fühlt sich jemand berufen mir zu sagen was an meinem Code nicht im IE funktionieren kann? Das sind nur einige Zeilen die dafür in Frage kommen.
	// do scrolling

$('map').onmousemove = function(event) {
if (!event) event = window.event;
if(scroll){
var moveX = event.screenX - oldX;
var moveY = event.screenY - oldY;
oldX = event.screenX;
oldY = event.screenY;
var tiles = $('map').getElementsByTagName('div');
for(i=0, length=tiles.length; i
var left = parseInt(tiles.style.left.substr(0, tiles.style.left.length-2));
tiles.style.left = (left+moveX)+'px';
var top = parseInt(tiles.style.top.substr(0, tiles.style.top.length-2));
tiles.style.top = (top+moveY)+'px';
}
}
}
Das ganze gehört zu einem Test um Scrollbare Karten à la Google Maps darzustellen. Allerdings ist es atm alles andere als Resourcenschonend.
Edit: Habe es nun so gelöst, dass nur das Elternelement verschoben wird. Das ändert zwar nichts an der sehr hohen CPU-Auslastung, aber dafür geht es im IE. *merkwürdig*
gepostet vor 18 Jahre von TheUndeadable
Poste mal eine komplette Url, dann kann ich das Visual Studio mal drauf loslassen....
gepostet vor 18 Jahre von Klaus
****
BTW: Gibt es ein Mittel gegen diese "Markieren verboten" Problematik wenn man mit der linken Maustaste scrollen will?
gepostet vor 18 Jahre von pl-online
Ich kämpfe im Moment auch mit einer viel zu hohen CPU Auslastung. Ich werde die ganze Map noch sehr optimieren müssen, ob es noch viel bringen wird weiss ich nicht. Google Maps hat ja auch eine relativ hohe CPU Auslastung von daher würde ich sagen, dass man auch nicht sehr viel dagegen machen kann.
gepostet vor 18 Jahre von Klaus
tatsächlich, danke!
Jetzt muss ich nur noch verhindern das die Browser die Map markieren wollen wenn man die rechte Maustaste benutzt.
gepostet vor 18 Jahre von knalli
Kleiner Tipp am Rande: Meide immer Schlüsselwörter, egal in welcher Sprache. Da man JS selten in einer großen IDE programmiert, empfiehlt sich hier durchaus die (falsche) ungarische Notation (im Gegensatz zu Java, wo das in der Regel nicht notwendig ist). Nutzt man diese, entfällt automatisch die Beschränkung, da die Variable dann zB iLength heißen würde und keine Probleme macht.
gepostet vor 18 Jahre von zufall_
Original von Klaus
tatsächlich, danke!
Jetzt muss ich nur noch verhindern das die Browser die Map markieren wollen wenn man die rechte Maustaste benutzt.

bei mousedown: document.onselectstart=new Function ("return false");
bei mouseup: document.onselectstart="";
gepostet vor 18 Jahre von Klaus
hmm das bringts leider nicht, obwohl es eigentlich klappen sollte.
gepostet vor 18 Jahre von knalli
wäre das nicht .. =function(){return false;} ?
gepostet vor 18 Jahre von zufall_
möglicherweise, macht aber in der praxis keinen unterschied.
gepostet vor 17 Jahre, 12 Monate von pl-online
Falls das Problem nicht schon gelöst ist, ich hatte die gleichen Probleme bei meiner Map. Das der FF den "verbots" Cursor bringt, liegt daran, dass das Bild im Div vor dem Div selbst steht. Um das zu umgehen legst du einen transparenten Div mit höherem z-index drüber (so hab ich es gelöst, fand keine bessere Lösung bin aber für andere Vorschläge gerne offen).
Das markieren verhinderst du mit
document.getElementById("deinObjekt").onselectstart=function(){return false;}

Ich hoffe ich bin nicht zu spät und konnte dir helfen.
EDIT: Was natürlich auch geht, ersteres betreffend, dass du das Bild einfach als Hintergrund eines Divs definierst.

Auf diese Diskussion antworten