Erfassen Sie die Maus nach rechts klicken Sie auf ein Ereignis in einem iframe mit jquery
Mich bannen zu müssen rechten Maustaste auf ein Ereignis in einem iframe in asp.net mit javascript oder jquery-codes.
unten ist der code, den ich bisher ausprobiert habe.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Detect IFrame Clicks</title>
<script type="text/javascript" language="javascript" src="JScript/jquery-1.7.1.js"></script>
<script type="text/javascript" language="javascript" src="JScript/jquery.ui.core.js"></script>
<script type="text/javascript" language="javascript" src="JScript/jquery.ui.widget.js"></script>
<script type="text/javascript" language="javascript" src="JScript/jquery.ui.mouse.js"></script>
<script type="text/javascript">
document.onmousedown = onMousebtClick
var isOverIFrame = false;
$(document).ready(function() {
function processMouseOut() {
isOverIFrame = false;
top.focus();
}
function processMouseOver() {
isOverIFrame = true;
}
function processIFrameClick() {
if (isOverIFrame) {
log("CLICK << detected. ");
onMousebtClick();
}
}
function log(message) {
var console = document.getElementById("console");
var text = console.value;
text = text + message + "\n";
console.value = text;
}
function attachOnloadEvent(func, obj) {
if (typeof window.addEventListener != 'undefined') {
window.addEventListener('load', func, false);
} else if (typeof document.addEventListener != 'undefined') {
document.addEventListener('load', func, false);
} else if (typeof window.attachEvent != 'undefined') {
window.attachEvent('onload', func);
} else {
if (typeof window.onload == 'function') {
var oldonload = onload;
window.onload = function() {
oldonload();
func();
};
} else {
window.onload = func;
}
}
}
function init() {
var element = document.getElementsByTagName("iframe");
for (var i = 0; i < element.length; i++) {
element[i].onmouseover = processMouseOver;
element[i].onmouseout = processMouseOut;
}
if (typeof window.attachEvent != 'undefined') {
top.attachEvent('onblur', processIFrameClick);
}
else if (typeof window.addEventListener != 'undefined') {
top.addEventListener('blur', processIFrameClick, false);
}
}
attachOnloadEvent(init);
});
function onMousebtClick() {
switch (event.button) {
case 1:
alert("leftclick");
break;
case 2:
alert("right click");
break;
}
}
/*document.onmousedown = onMousebtClick*/
</script>
</head>
<body id="mybody">
<iframe src="http://www.microsoft.com" width="800px" height="300px" id="ifrm">
</iframe>
<br />
<br />
<form name="form" id="form" action="">
<textarea name="console" id="console" style="width: 300px; height: 300px;" cols=""
rows=""></textarea>
<button name="clear" id="clear" type="reset">
Clear</button>
</form>
</body>
</html>
kann ich in der Lage zum erkennen der rechten Maustaste in den body-tag, aber ich kann nicht erkennen, die der rechten-Maus-Klick-event innerhalb des iframe.
Kann jemand bitte helfen Sie mir.
InformationsquelleAutor Arun | 2012-06-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist möglich, wenn die Seite in einem
iframe
ist auf der gleichen domain.IFrame-Seite unter der gleichen domain:
http://fiddle.jshell.net/rathoreahsan/MNtw8/8/show/
Siehe Demo:
http://jsfiddle.net/rathoreahsan/gJtkW/
Während, wenn Sie Zugriff auf die Seite einer anderen domain, die innerhalb einer
iframe
wie Sie tun, dann ist es nicht zu empfehlen.Bearbeitet: Finden Sie einige Referenzen, die unten gegeben, hoffe, es wird hilfreich sein.
die iframe-cross-domain-policy-problem
cross-domain-iframe-Anpassung der
++1 an Sie sowieso, Mann, aber wenn ich kann, sehen Sie bitte die obigen links, javascript Injektionen sind schlecht in jedem Fall
:)
vielen Dank für die Antwort.. ich habe versucht, Ihre demo-url und umgesetzt. wenn ich das Programm starte zeigt er eine Fehlermeldung "Microsoft JScript runtime error: Permission denied". Warum dieser Fehler passiert mir? bitte helfen Sie mir zu lösen . 🙂
Im Allgemeinen, wenn der Elternteil versucht zu Steuern, einen iframe in einer anderen Domäne erhalten Sie diese Fehlermeldung.
Überprüfen Sie diesen link: forums.asp.net/t/1485289.aspx/1
InformationsquelleAutor Ahsan Rathod
Hey: das könnte helfen:
Wie Aktivieren Sie mit der Rechten Maustaste in IFRAME mit JavaScript
oder
http://forums.asp.net/p/1818670/5042726.aspx/1?Capture+mouse+right+click+event+inside+a+iframe+using+jquery+
Bitte lassen Sie mich wissen, wenn jemand anderer Meinung ist, gerne auf diesen posten aus.
Obwohl Versuchen diesen hack, der hier erwähnt: http://www.codingforums.com/archive/index.php/t-8824.html
oder hier http://forums.mozillazine.org/viewtopic.php?f=19&t=371334
cheers,
:)
Ich habe nur geschrieben, dass die Frage in dieser asp.net Foren vor Ort. Muss ich brauche eine Idee um das zu beheben. Sorry für den downvote.
ha ha ha ha ha ha 🙂 lol geil du hast die Antwort richtig? Entferne ich meinen post, aber laß mich wissen, wenn dies möglich ist, ohne hack
:)
ach und Sie nach unten gewählt, weil?...Vielen Dank für Ihre Antwort. ich brauche zu lösen, dass Problem. wenn Sie keine Idee in Zukunft Antworten Sie bitte auf diese.
Habe ich eingefügt, ein nützlicher link über verwenden
context menu
forums.mozillazine.org/viewtopic.php?f=19&t=371334 anyhoo nicht Wert, einen down-vote-Mann,InformationsquelleAutor Tats_innit