2014-06-27 6 views
1

J'ai créé un projet dans Iphonegap et je veux ouvrir un ulr dans mon navigateur IOS mais pas dans mon application. J'ai essayé d'utiliser le plugin InBrowser mais il semble que cela ne fonctionne pas.

Je n'utilise que .html, .css, .js files and the config.xml et je suis sous Windows et je construis mon projet avec l'outil en ligne Adobe Phonegap builderphonegap inappbrowser IOS ne fonctionne pas

Si je bien, d'après ce lien https: build.phonegap.com/plugins/658 il n'y a pas besoin d'installer le plug-in que vous voulez utiliser , comme certains le suggèrent avec la commande cordova plugin add.... Vous pouvez faire votre travail en renvoyant le plugin dans le fichier config.xml. Ai-je raison?

Mon config.xml:

<?xml version="1.0" encoding="UTF-8"?> 

<widget xmlns = " www.w3.org/ns/widgets" 
     xmlns:gap = " phonegap.com/ns/1.0" 
    id = "com.test.testingApp" 
    version = "1.0.0"> 

    <name>test</name> 

    <!-- app icons and splashscreen --> 
    <icon src="icon.png" /> 
    <gap:splash src="splash.png" /> 

    <platform name="android"> 
     <icon density="mdpi" src="res/android/icon-48-hdpi.png" /> 
     <icon density="hdpi" src="res/android/icon-72-hdpi.png" /> 
     <icon density="xhdpi" src="res/android/icon-96-hdpi.png" /> 
     <icon density="xxhdpi" src="res/android/icon-144-hdpi.png" /> 

     <gap:splash gap:density="mdpi" src="splash.png" width="320" height="470" /> 
     <gap:splash gap:density="hdpi" src="splash.png" width="480" height="640" /> 
     <gap:splash gap:density="xhdpi" src="splash.png" width="720" height="960" /> 
     <gap:splash gap:density="xxhdpi" src="splash.png" /> 
    </platform> 

    <platform name="ios"> 
    <!-- iOS 7.0+ --> 
    <!-- iPhone/iPod Touch --> 
     <icon src="res/ios/icon-60.png" width="60" height="60" /> 
     <icon src="res/ios/[email protected]" width="120" height="120" /> 
     <!-- iPad --> 
     <icon src="res/ios/icon-76.png" width="76" height="76" /> 
     <icon src="res/ios/[email protected]" width="152" height="152" /> 
     <!-- iOS 6.1 --> 
     <!-- Spotlight Icon --> 
     <icon src="res/ios/icon-40.png" width="40" height="40" /> 
     <icon src="res/ios/[email protected]" width="80" height="80" /> 
     <!-- iPhone/iPod Touch --> 
     <icon src="res/ios/icon.png" width="57" height="57" /> 
     <icon src="res/ios/[email protected]" width="114" height="114" /> 
     <!-- iPad --> 
     <icon src="res/ios/icon-72.png" width="72" height="72" /> 
     <icon src="res/ios/[email protected]" width="144" height="144" /> 
     <!-- iPhone Spotlight and Settings Icon --> 
     <icon src="res/ios/icon-small.png" width="29" height="29" /> 
     <icon src="res/ios/[email protected]" width="58" height="58" /> 
     <!-- iPad Spotlight and Settings Icon --> 
     <icon src="res/ios/icon-50.png" width="50" height="50" /> 
     <icon src="res/ios/[email protected]" width="100" height="100" /> 
    </platform> 


    <preference name="phonegap-version" value="3.3.0" /> 



    <!-- splashscreen delay --> 
    <preference name="SplashScreenDelay" value="5000" /> 

    <access origin="*" browserOnly="true"/> 

    <!-- <content src=" mysite.com/myapp.html" /> for external pages --> 
    <content src="index.html" /> 

    <preference name="loglevel" value="DEBUG" /> 

    <!-- <preference name="orientation" value="portrait" /> --> 

    <preference name="loadUrlTimeoutValue" value="20000" /> 
    <preference name="InAppBrowserStorageEnabled" value="true" /> 
    <!-- 
    <preference name="splashscreen" value="resourceName" /> 
    <preference name="backgroundColor" value="0xFFF" /> 
    <preference name="loadUrlTimeoutValue" value="20000" /> 
    <preference name="InAppBrowserStorageEnabled" value="true" /> 
    <preference name="disallowOverscroll" value="true" /> 
    <preference name="keepRunning" value="false" /> 
    --> 

    <feature name="App"> 
    <param name="android-package" value="org.apache.cordova.App"/> 
    </feature> 
    <feature name="Geolocation"> 
    <param name="android-package" value="org.apache.cordova.GeoBroker"/> 
    </feature> 
    <feature name="Device"> 
    <param name="android-package" value="org.apache.cordova.Device"/> 
    </feature> 
    <!-- 
    <feature name="Accelerometer"> 
    <param name="android-package" value="org.apache.cordova.AccelListener"/> 
    </feature> 
    <feature name="Compass"> 
    <param name="android-package" value="org.apache.cordova.CompassListener"/> 
    </feature> 
    <feature name="Media"> 
    <param name="android-package" value="org.apache.cordova.AudioHandler"/> 
    </feature> 
    <feature name="Camera"> 
    <param name="android-package" value="org.apache.cordova.CameraLauncher"/> 
    </feature> 
    <feature name="Contacts"> 
    <param name="android-package" value="org.apache.cordova.ContactManager"/> 
    </feature> 
    <feature name="File"> 
    <param name="android-package" value="org.apache.cordova.FileUtils"/> 
    </feature> 
    --> 
    <feature name="NetworkStatus"> 
    <param name="android-package" value="org.apache.cordova.NetworkManager"/> 
    </feature> 
    <feature name="Notification"> 
    <param name="android-package" value="org.apache.cordova.Notification"/> 
    </feature> 
    <!-- 
    <feature name="Storage"> 
    <param name="android-package" value="org.apache.cordova.Storage"/> 
    </feature> 
    <feature name="FileTransfer"> 
    <param name="android-package" value="org.apache.cordova.FileTransfer"/> 
    </feature> 
    <feature name="Capture"> 
    <param name="android-package" value="org.apache.cordova.Capture"/> 
    </feature> 
    <feature name="Battery"> 
    <param name="android-package" value="org.apache.cordova.BatteryListener"/> 
    </feature> 
    --> 
    <feature name="SplashScreen"> 
    <param name="android-package" value="org.apache.cordova.SplashScreen"/> 
    </feature> 
    <feature name="SplashScreen"> 
     <param name="ios-package" value="CDVSplashScreen" /> 
    </feature> 
    <!-- 
    <feature name="Echo"> 
    <param name="android-package" value="org.apache.cordova.Echo"/> 
    </feature> 
    <feature name="Globalization"> 
    <param name="android-package" value="org.apache.cordova.Globalization"/> 
    </feature> 
    --> 
    <feature name="InAppBrowser"> 
     <param name="android-package" value="org.apache.cordova.inappbrowser.InAppBrowser"/> 
    </feature> 
    <feature name="InAppBrowser"> 
     <param name="ios-package" value="CDVInAppBrowser" /> 
    </feature> 

    <!-- Deprecated plugins element. Remove in 3.0 --> 
    <plugins> 
     <gap:plugin name="org.apache.cordova.inappbrowser" version="0.3.3" /> 
    </plugins> 
</widget> 


Mon fichier index.html est:

<html> 
<head>  
    <meta charset="utf-8" /> 
    <meta id="extViewportMeta" name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" /> 

    <title>Hello World</title> 

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script> 
    <script type="text/javascript" charset="utf-8" src="cordova_plugins.js"></script> 

    <link rel="stylesheet" href=" code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.css"> 
    <script src=" code.jquery.com/jquery-1.10.2.min.js"></script> 
    <script src=" code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script> 
</head> 

<body> 
<div data-role="page"> 

    <!-- MAIN BODY --> 
    <div data-role="content" role="main" style="padding-bottom:230px;"> 
     <div class="main_header"> 
        <br />  
        <a href="#" onclick="window.open(' www.google.com', '_blank', 'location=yes'); return false;">PlanTech</a> 
        <br />  
        <a href="#" onclick="window.open(' www.google.com', '_system', 'location=no');return false; ">PlanTech</a> 
     </div> 
    </div> 
</div> 

<div id="highlight"></div> 
</body> 
</html> 



Le problème est que les deux liens ouverts à l'intérieur de mon application (et pas dans un navigateur séparé comme ils le supposaient). Par conséquent, il n'y a aucune chance de revenir à ma page index.html après avoir cliqué sur l'un des liens sans mettre fin à l'application et la redémarrer.

J'apprécierais que quelqu'un puisse m'aider à passer par là, parce que j'ai cherché plusieurs fois sur internet et je suis coincé.

Merci d'avance à tous pour votre temps.

Répondre

0

Enfin, j'ai trouvé moi-même la solution à ma question. Comme d'habitude c'était sous mes yeux, mais je ne le trouverais pas dans mille ans si je n'avais pas la chance de le voir.

Comme le suggère lui-même config.xml: <!-- Deprecated plugins element. Remove in 3.0 -->

J'ai eu donc de changer le code suivant

<plugins> 
    <gap:plugin name="org.apache.cordova.inappbrowser" version="0.3.3" /> 
</plugins> 


avec ceci

<gap:plugin name="org.apache.cordova.inappbrowser" version="0.3.3" /> 
1

J'ai une solution pour cette ... there is no chance to get back to my index.html page after one of the links clicked

Si vous passez par complet documentation,

1 - Retourne l'objet fenêtre comme

 var ref = window.open ('www.google.com', '_blank', 'location=yes'); 

2 - Ajouter un écouteur d'événement pour l'événement de sortie.

ref.addEventListener(exit, myexitcallback); 

3 - La méthode close ferme la fenêtre du navigateur. Ainsi, dans votre fonction rappeler:

function myexitcallback{ 
    ref.close(); 
} 

Espérons que cela va résoudre votre problème. Bonne chance.

+0

Cela ne veut pas résolu mon problème. Le lien s'ouvre toujours dans mon application et non comme une application distincte comme il se doit. Et bien sûr, il n'y a pas de bouton de retour ou quelque chose de similaire qui indique un retour dans mon application sans avoir besoin de sortir d'abord. Donc, j'ai toujours des doutes: «si le plugin config.xml est suffisant pour que le constructeur en ligne puisse installer le plugin inAppBrowser dans mon application» – tzes

Questions connexes