Rene: Drag'n'Drop Kompatibilität

Hallo!

Ich habe da mal ein Problem:

Ich möchte das der folgende Code (der im IE wunderbar funktioniert) auch im Netscape (4.7) und im Mozilla (0.9.6) läuft. Was muss ich ändern, wo kann ich etwas darüber nachlesen und geht das überhaupt? Ich habe aber keine Ahnung was die beiden Browser anders machen. Ich bin völlig auf den IE eingestellt.

Vielen Dank für eure Hilfe!!!

<html>
<head>
<title>Drag'n'Drop</title>
<script language="JavaScript">
// the object that you are dragging:
var srcObj = new Object;

// string to hold source of object being dragged:
var dummyObj;

function startDrag(){
    // get what is being dragged:
    srcObj = window.event.srcElement;

// store the source of the object into a string acting as a dummy object so we don't ruin the original object:
    // parent.frames.lightbox.document.forms.frmLightbox.objID.value = srcObj.name;

// post the data for Windows:
    var dragData = window.event.dataTransfer;

dragData.setData('Text', srcObj.name);

dragData.effectAllowed = 'move';
    dragData.dropEffect = 'move';
}

function enterDrag() {
    // allow target object to read clipboard:
    window.event.dataTransfer.getData('Text');
}

function endDrag() {
    // when done remove clipboard data
    window.event.dataTransfer.clearData();
}

function overDrag() {
    // tell onOverDrag handler not to do anything:
    window.event.returnValue = false;
}

// Drop muß seitenspezifisch implementiert werden
function drop() {
    // eliminate default action of ondrop so we can customize:
    window.event.returnValue = false;

// Wirf den Text aus
    var data = window.event.dataTransfer.getData('Text');
  alert(data);
}
</script>
</head>

<body>
<img src="pic1.jpg" name="pic1" height="50" width="50" ondragstart="startDrag()" ondragend="endDrag()" />
<img src="pic2.jpg" name="pic2" height="50" width="50" ondragstart="startDrag()" ondragend="endDrag()" />
<img src="pic3.jpg" name="pic3" height="50" width="50" ondragstart="startDrag()" ondragend="endDrag()" /><p />

<img src="box.gif" ondrop="drop()" ondragover="overDrag()" ondragenter="enterDrag()" width="32" height="32" />

</body>
</html>

Wenn man mit der linken Maustaste auf eines der Bilder drückt, gedrückt hält und auf dem box.gif ablegt, soll der "name"
 der Datei angezeigt werden.

  1. Hi

    ich hab mir das jetzt mal nicht angeguckt, aber du solltest erstmal die HTML-Fehler ausmerzen:

    C:\WINNT\Profiles\kagere1t\Desktop\test.html, Line 1, Character 0:
    no document type declaration; will parse without validation

    C:\WINNT\Profiles\kagere1t\Desktop\test.html, Line 61, Character 6:
    end tag for IMG omitted; possible causes include a missing end tag, improper nesting of elements, or use of an element where it is not allowed

    C:\WINNT\Profiles\kagere1t\Desktop\test.html, Line 59, Character 0:
    start tag was here

    C:\WINNT\Profiles\kagere1t\Desktop\test.html, Line 61, Character 6:
    end tag for P omitted; possible causes include a missing end tag, improper nesting of elements, or use of an element where it is not allowed

    C:\WINNT\Profiles\kagere1t\Desktop\test.html, Line 57, Character 105:
    start tag was here

    C:\WINNT\Profiles\kagere1t\Desktop\test.html, Line 61, Character 6:
    end tag for IMG omitted; possible causes include a missing end tag, improper nesting of elements, or use of an element where it is not allowed

    C:\WINNT\Profiles\kagere1t\Desktop\test.html, Line 57, Character 0:
    start tag was here

    C:\WINNT\Profiles\kagere1t\Desktop\test.html, Line 61, Character 6:
    end tag for IMG omitted; possible causes include a missing end tag, improper nesting of elements, or use of an element where it is not allowed

    C:\WINNT\Profiles\kagere1t\Desktop\test.html, Line 56, Character 0:
    start tag was here

    C:\WINNT\Profiles\kagere1t\Desktop\test.html, Line 61, Character 6:
    end tag for IMG omitted; possible causes include a missing end tag, improper nesting of elements, or use of an element where it is not allowed

    C:\WINNT\Profiles\kagere1t\Desktop\test.html, Line 55, Character 0:
    start tag was here

    MfG TOM

  2. Hi,

    Ich möchte das der folgende Code (der im IE wunderbar funktioniert)
    auch im Netscape (4.7) und im Mozilla (0.9.6) läuft.
    Was muss ich ändern, wo kann ich etwas darüber nachlesen und geht das
    überhaupt?

    letzteres dürfte wohl die spannendste Frage sein.

    So auf den ersten Blick würde ich sagen: JavaScript _kann_ das gar nicht
    sein, sondern M$-proprietäres JScript - es sind einfach zu viele Events
    drin, von denen ich in JavaScript noch nie etwas gehört habe.

    Ein HTTP-UserAgent ist nun mal kein Betriebssystem, auch wenn Herr Gates
    das vielleicht glauben mag.

    Viele Grüße
          Michael

  3. Hallihallo!

    Ich habe mit diesem Drag and Drop in den letzten Tagen auch einiges rumprobiert, und dabei ist bis jetzt das rauskegommen:
    http://www.dicki-web.de.vu/test/dragtest.html

    Das dazugehörige js- Moster ist sicher nicht das elegantest, aber es ist zumindest ein Anhaltspunkt, auf dem Du vielleicht aufbauen kannst.

    viele liebe Grüße,

    Der Dicki