2015-03-26 6 views
0

Je développe une application Phonegap IOS. Une de mes pages contient un iframe. J'ai une zone de texte où l'utilisateur peut taper l'URL. L'URL dans la zone de texte définira la source iframe. L'utilisateur devrait pouvoir naviguer dans iframe. Après cela, je dois enregistrer l'URL dans la base de données.J'ai appliqué smartzoom jquery plugin pour zoomer iframe qui fonctionne très bien. Dans les liens de safari fonctionnent mais dans les liens de simulateur ne sont pas cliquables. Comment puis-je faire des liens dans iframe cliquable? Voici jsfiddle lien ce que j'ai fait jusqu'ici qui fonctionne bien dans brwoser mais pas dans le simulateur.Pourquoi les liens à l'intérieur d'un iframe ne fonctionnent pas dans une application ios phonegap?

<div id="positionButtonDiv"> 
    <p> <span> 
        <img id="btnzoomIn" class="zoomButton" src="http://e-smartdev.com/github/smartJQueryZoom/example/assets/zoomIn.png" height="34" width="34" title="zoom in" alt="zoom in" /> 
        <img id="btnzoomOut" class="zoomButton" src="http://e-smartdev.com/github/smartJQueryZoom/example/assets/zoomOut.png" height="34" width="34" title="zoom out" alt="zoom out" /> 
        </span> 

    </p> 
    <p> <span class="positionButtonSpan"> 
        <map name="positionMap" class="positionMapClass"> 
        <area id="btnUp" shape="rect" coords="20,0,40,20" title="move up" alt="move up" /> 
        <area id="btnLeft" shape="rect" coords="0,20,20,40" title="move left" alt="move left" /> 
        <area id="btnRight" shape="rect" coords="40,20,60,40" title="move right" alt="move right" /> 
        <area id="btnDown" shape="rect" coords="20,40,40,60" title="move bottom" alt="move bottom" /> 
        </map> 
        <img src="http://e-smartdev.com/github/smartJQueryZoom/example/assets/position.png" height="58" width="58" usemap="#positionMap"> 
        </span> 

    </p> 
</div> 
<div id="viewsites" class="viewsites"> 
    <iframe scrolling="no" id="viewsite_iframe" sandbox="allow-scripts allow-popups allow-forms" src="" class="clsIframe"></iframe> 
</div> 

codeJS

$(document).ready(function() { 

    $('#btnUp,#btnLeft,#btnRight,#btnDown').bind("click", moveButtonClickHandler); 
    $('#btnzoomIn,#btnzoomOut').bind("click", zoomButtonClickHandler); 

    function zoomButtonClickHandler(e) { 
     var scaleToAdd = 0.8; 
     if (e.target.id == 'btnzoomOut') scaleToAdd = -scaleToAdd; 
     $('#viewsite_iframe').smartZoom('zoom', scaleToAdd); 
    } 

    function moveButtonClickHandler(e) { 
     var pixelsToMoveOnX = 0; 
     var pixelsToMoveOnY = 0; 

     switch (e.target.id) { 
      case "btnLeft": 
       pixelsToMoveOnX = 50; 
       break; 
      case "btnRight": 
       pixelsToMoveOnX = -50; 
       break; 
      case "btnUp": 
       pixelsToMoveOnY = 50; 
       break; 
      case "btnDown": 
       pixelsToMoveOnY = -50; 
       break; 
     } 
     $('#viewsite_iframe').smartZoom('pan', pixelsToMoveOnX, pixelsToMoveOnY); 
    } 


    try { 

     $('#viewsite_iframe').attr('src', "http://www.w3schools.com/"); 
     if ($('#viewsite_iframe').smartZoom('isPluginActive')) { 
      $('#viewsite_iframe').smartZoom('destroy'); 
     } 
     $('#viewsite_iframe').smartZoom({ 
      'containerClass': 'zoomContainer', 
       'easing': 'smartZoomEasing', 
       'dblClickEnabled': true, // enable plugin mouse doubleClick behviour 
      'mouseMoveEnabled': false, // enable plugin target drag behviour 
      'moveCursorEnabled': true, // show moveCursor for drag 
      'touchEnabled': true, // enable plugin touch interaction 
      'dblTapEnabled': true, // enable plugin double tap behaviour 
      'pinchEnabled': true, // enable zoom when user pinch on target 
      'touchMoveEnabled': true, // enable target move via touch 
      'maxScale': 1.8, 
       'zoom': 0.1 
     }); 
    } catch (e) { 
     alert(e) 
    } 
}); 
+0

vous devez écrire lien cliquez pour WebView dans Appdelegate.m à Cordova application iOS – Amar1989

+0

non, je ne veux pas ouvrir le lien dans Safari navigateur mobile – skhurams

+0

je veux ouvrir le lien iframe iframe pas en dehors – skhurams

Répondre

0

utilisez-vous l'application de développeur de PhoneGap pour tester votre application? Si oui, pour les liens externes, l'utilisation d'IFrame ne fonctionne pas correctement pour IOS sur l'application de développement phonegap. Vous devez construire un fichier ipa.