2014-05-12 1 views
1

Existe-t-il une implémentation de référence sur la façon de procéder?Node webkit: Couper/copier/coller le menu contextuel du clic droit et iframe

L'application entière a un iframe avec le contenu de tiers que je ne peux pas modifier. J'ai été en mesure de définir un menu contextuel dans une application vide, mais il n'apparaît pas lorsque l'iframe prend en charge toute la fenêtre.

(j'utilise $ (document) .on ("contextmenu", ..)

Comment puis-je le faire fonctionner dans le iframe aussi?

+0

si elles sont sur le même domaine, allez voir http://p2p.wrox.com/javascript/17782-iframe -contextmenu.html # post115003 Ou pirater leur serveur pour autoriser CORS :) – nicolallias

+1

C'est node webkit; ce que je suppose vous permet de contourner cela. – Wesley

Répondre

0

Ceci est en réponse au script de tinyproxy ...

L'événement onload est idéal pour signaler un TITLE et une URL d'iframe lorsque l'utilisateur navigue mais je ne l'utiliserais pas pour les clics car chaque fois que l'utilisateur navigue quelque part (en cliquant sur le bouton gauche) votre script ajoute un nouvel écouteur. aura déclenché que le cadre se charge de nouveau contenu!

Une façon plus correcte pour écouter un clic droit est ...

FrameID.addEventListener('contextmenu',function(){Whatever();}); 
2

Vous devez ajouter à la fenêtre d'écoute du contenu de iframe. Voici un exemple de code, je pense qu'il devrait répondre à vos besoins.

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf8"> 
    <title></title> 
    <style type="text/css"> 
     #gframe{ 
      width: 100%; 
      height: 100%; 
      left: 0px; 
      top: 0px; 
      position: absolute; 
     } 
    </style> 
    <script type="text/javascript"> 
     var appendContextmenuListener = function(){ 
      var gframe = document.getElementById('gframe'); 
      var subWindow = gframe.contentWindow; 
      var subDocument = subWindow.document; 
      subDocument.oncontextmenu = function(){ 
       console.log(1); 
      } 
     }; 
    </script> 
</head> 
<body> 
    <iframe id="gframe" src="https://www.google.com.hk" 
     onload="appendContextmenuListener()"></iframe> 
</body> 
</html> 
Questions connexes