Eine Idee, die ich habe, ist ein transparentes Element zu platzieren (wie ein div) vor Ihrem iframe und dann abfangen die klicken und Mausbewegungsereignisse dort um den iframe ziehen zu machen.
Ich habe es hier in dieser plunker getan.
Der Code, wie Sie unten sehen, ist gerade genug, um über diese Idee zu kommen und welche Schritte erforderlich sind, um den Iframe zu bewegen. Es hat einige Fehler (bewegen Sie Ihre Maus schnell), aber Sie könnten einige Dinge tun, um diese Probleme zu lösen.
<!DOCTYPE html>
<html>
<head>
<style>
iframe, div {
position: absolute;
left: 20px;
top: 20px;
width: 200px;
height: 200px;
}
</style>
</head>
<body>
<iframe id="iframe" src="if.html"></iframe>
<div id="div" onmousedown="startDrag(event)" onmouseup="stopDrag()" onmousemove="moveDrag(event)"></div>
</body>
<script>
var objDiv = document.getElementById("div");
var objDivCoordinates = {left: 20, top: 20};
var objIframe = document.getElementById("iframe");
var mouseX = null;
var mouseY = null;
var dragging = false;
function startDrag(e) {
mouseX = e.clientX;
mouseY = e.clientY;
dragging = true;
objIframe.contentWindow.document.writeln("Starting Drag...<br>");
}
function moveDrag(e) {
if(!dragging) return;
var changeX = mouseX - e.clientX;
var changeY = mouseY - e.clientY;
objDivCoordinates.left -= changeX;
objDivCoordinates.top -= changeY;
objDiv.style.left = objDivCoordinates.left+"px";
objDiv.style.top = objDivCoordinates.top+"px";
objIframe.style.left = objDiv.style.left;
objIframe.style.top = objDiv.style.top;
mouseX = e.clientX;
mouseY = e.clientY;
}
function stopDrag(e) {
dragging = false;
}
</script>
</html>
Knoten ist Javascript, aber es ist nicht auf der Client-Seite. Es kennt die DOM- oder Mausereignisse nicht, es liefert nur Inhalt an den Client. Also, ich werde hier ein wenig aussteigen und sagen, dass es nicht möglich ist. – HeadCode
Kann der Knoten nicht mit nativen Mausereignissen kommunizieren, wie eine native GUI-App? – yarden
Es sieht nicht so aus. Es erleichtert zwar das Einbinden von Knotenmodulen in den HTML-Code, aber das ist anders als der Knoten, der über Mausereignisse weiß. – HeadCode