2016-03-31 25 views
2

Bu yüzden 3 gündür buradayım ... this one gibi çeşitli dersleri denediniz ve orijinal sayfadan sonra denediniz here ve okuyun GitHub bin kez tanımla. Ben kullanıyorumIonic Cordova Sosyal Paylaşım eklentisi - undefined 'socialsharing' özelliğini okuyamazsınız

sürümleri:

$ npm -v 
3.7.3 

$ cordova -v 
6.1.0 ([email protected]) 

$ ionic -v 
1.7.14 

hata Chrome tarayıcıda alıyorum: tanımsız malı 'socialsharing' okunamıyor. Düğmelere basıldığında, android veya ios telefonda hiçbir şey olmuyor. Hata fonksiyonu çağrısı bile yok.

app.js + kontrolör: (! Ben de window.plugins ile ve .plugins olmadan çalışıyorum ihbar)

angular.module('starter', ['ionic', 'ngCordova']) 

.run(function($ionicPlatform) { 
    $ionicPlatform.ready(function() { 
    // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard 
    // for form inputs) 
    if (window.cordova && window.cordova.plugins.Keyboard) { 
     cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); 
     cordova.plugins.Keyboard.disableScroll(true); 

    } 
    if (window.StatusBar) { 
     // org.apache.cordova.statusbar required 
     StatusBar.styleDefault(); 
    } 
    }); 
}) 

    .controller('shareCtrl',['$scope',function($scope) { 

    $scope.facebookShare=function(){ 
     window.socialsharing.shareViaFacebook('Digital Signature Maker', null /* img */, "https://play.google.com/store/apps/details?id=com.prantikv.digitalsignaturemaker" /* url */, null, 
     function(errormsg){alert("Error: Cannot Share")}); 
    } 

    $scope.whatsappShare=function(){ 
     window.plugins.socialsharing.shareViaWhatsApp('Digital Signature Maker', null /* img */, "https://play.google.com/store/apps/details?id=com.prantikv.digitalsignaturemaker" /* url */, null, 
     function(errormsg){alert("Error: Cannot Share")}); 

}

Hatta elle yüklemeyi denedi ve burada farklı bir hata vardı. Ben (cordova.js öncesi) index.html içine SocialSharing.js takılı, Chrome konsol söyledi: Yakalanmamış ReferenceError: Ben

var cordova = require('cordova'); 

: SocialSharing.js hattı 1'de olan tanımlanmamıştır gerektiren success.sj (npm install -g requirejs) 'yi başarı ile yükledikten sonra manuel olarak denedim ancak tamamen farklı türde hatalar ortaya çıktı.

Eklentiyi yeniden yüklemeyi veya yeniden kaldırmayı ve yeniden eklemeyi denedim, ancak değişiklik yok.

İlgili olup olmadığından emin değil, ancak ngCordova'nın $ cordovaFileOpener2 ürününü kullanmaya çalıştı ve bu, her zaman cordova için undefined hatası verdi. (Gerçek telefonda da çalışmadı)

Herhangi bir yardım için teşekkür ederiz! Teşekkür

GÜNCELLEME: Yukarıda benim .js dosya içeriğinin tüm yapıştırılan var. İşte

cordova plugin add cordova-plugin-x-socialsharing 
Fetching plugin "cordova-plugin-x-socialsharing" via npm 
Installing "cordova-plugin-x-socialsharing" for android 

benim index.html geçerli::

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"> 
    <title></title> 

    <link href="lib/ionic/css/ionic.css" rel="stylesheet"> 
    <link href="css/style.css" rel="stylesheet"> 

    <!-- ionic/angularjs js --> 
    <script src="lib/ionic/js/ionic.bundle.js"></script> 

    <!-- cordova script (this will be a 404 during development) --> 
    <script src="lib/ng-cordova.min.js"></script> 
    <script src="cordova.js"></script> 

    <!-- your app's js --> 
    <script src="js/app.js"></script>  
    </head> 

    <body ng-app="starter"> 
    <ion-view view-title="Share"> 
     <ion-content ng-controller="shareCtrl"> 
     <div class="card"> 
      <div class="item item-divider"> 
       <b> Share this app</b> 
      </div> 
     <ul class="list"> 
      <li class="item" id="displayLabel"> 

      <button class="button button-block button-royal item-icon-left" ng-click="whatsappShare()"> 
       <i class="icon ion-social-whatsapp"></i> 
        WhatsApp 
      </button> 
      </li> 

      <li class="item" id="displayLabel"> 

      <button class="button button-block button-royal item-icon-left" ng-click="facebookShare()"> 
       <i class="icon ion-social-twitter"></i> 
        facebook 
      </button> 
      </li> 

      <li class="item" id="displayLabel">  
      <button class="button button-block button-royal item-icon-left" ng-click="OtherShare()"> 
       <i class="icon ion-android-share-alt"></i> 
        Other 
      </button> 
      </li> 
     </ul> 
     </div> 
     </ion-content> 
    </ion-view> 

    </body> 
</html> 
+0

d cordova sosyal paylaşım eklentisi? ... bu eklentiyi yükleyerek denemezseniz ... "cordova-plugin-x-socialsharing" –

+0

özür dilerim dün yorgunum ve bahsetmeyi unuttum ama denediğim şey buydu işe almak :) ve evet yüklü –

cevap

2
Aslında

Eklentiler cihaza ve platform işlevselliğine erişim sağlar normalde kullanılamaz

lütfen unutmayın başarıyla payı eklentisi yüklemiş web tabanlı uygulamalara. Yani tarayıcıda eklenti işlevselliği elde edemeyebilirsiniz.

Plugin veya ngCordova'yı kullanarak aygıtta (android/ios/emulator) numaralı telefondan elde edebilirsiniz. cordova eklenti eklemek cordova-eklenti-x-socialsharing

Kullanımı:

.controller('ShareCtrl', function ($scope) { 
    $scope.whatsappShare = function(){ 
     if(window.plugins.socialsharing) { 
     window.plugins.socialsharing.canShareVia('whatsapp', 
      'msg', null, null, null, 
      function (e) { 
       //do something 
      }, 
      function (e) { 
       //error occured 
      }); 
     } 
    } 
}) 

js Eklentisi

yükleme kullanma

dosyası ng-Cordova kullanma

Kurulum:

: projenizde Add ng-cordova dosyası ve index.html dosyası

<script src="lib/ng-cordova.min.js"></script>

Kullanımı içinde yer alıyor

.controller('ShareCtrl', function ($scope,$cordovaSocialSharing) { 
    $scope.shareByWhatsApp = function() { 
     $cordovaSocialSharing 
      .shareViaWhatsApp('sharedMsg', "", shareAppLink) 
      .then(function(result) { 
      }, function(err) { 
       // An error occurred. Show a message to the user 
       alert("error : "+err); 
      }); 
    }; 
}) 
+1

Ben ng-cordova.js kaldırma ekleyerek, hiçbir boşuna, cordova-plugin-x-socialsharing yükleme/kaldırma ile, ne önerdiğiniz kombinasyonun tüm olasılıkları denedim. Aynı hata Chrome'da (socialsharing undef) ve Android'de hiçbir şey olmuyor. Fb ile paylaşıyorum, whatsapp, paylaş. –

+1

bu şekilde kullanmayı deneyin, eğer (window.plugins && window.plugins.socialsharing) {}, 1 numaralı eklentiyi kontrol edebilir ve sonra da exec işlevi – Rjun

+0

işlevini kullanabilir. Bu, $ window.plugins = undefined kullanarak ciddi bir baş ağrısından sonra bana yardımcı oldu [ Bu diğer versiyon] [1] aynı adam tarafından. [1]: https://github.com/EddyVerbruggen/SocialSharing-PhoneGap-Plugin – Chisko

İlgili konular