2016-07-13 1 views
1

Я установил social sharing plugin и выполнил инструкции, установив ngCordova и установив файл config.xml, но когда я попробовал свое приложение Ionic в браузере Chrome, я получил его ошибка:ngCordova social sharing - Невозможно прочитать свойство «socialsharing» undefined

Cannot read property 'socialsharing' of undefined

Мои файлы настроены так:

app.js

angular.module('myApp', ['ionic', 'ngCordova', ...other dependencies]) 

функции в моем контроллере:

$scope.share = function() { 
    $cordovaSocialSharing.share("This is your message", "This is your subject", null, $location.absUrl()); 
    } 

Я добавил ссылки на скрипты в моей index.html:

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

значок для совместного использования в целях:

<img ng-click="share()" class="social-images" src="icons/facebook.svg"/> 

Часть моего config.xml:

<preference name="webviewbounce" value="false"/> 
    <preference name="UIWebViewBounce" value="false"/> 
    <preference name="DisallowOverscroll" value="true"/> 
    <preference name="SplashScreenDelay" value="2000"/> 
    <preference name="FadeSplashScreenDuration" value="2000"/> 
    <preference name="android-minSdkVersion" value="16"/> 
    <preference name="BackupWebStorage" value="none"/> 
    <preference name="SplashScreen" value="screen"/> 
    <feature name="StatusBar"> 
    <param name="ios-package" value="CDVStatusBar" onload="true"/> 
    </feature> 
    <gap:plugin name="cordova-plugin-x-socialsharing" source="npm" /> 

Также, когда у меня есть config.xml, Я получаю ошибку синтаксического анализа, и когда я оставляю <gap:plugin name="cordova-plugin-x-socialsharing" source="npm" />, он отлично работает на подключенном к USB-устройстве устройстве.

+0

этот плагин не будет работать в браузере, правильно настроить и попробовать после сборки или на устройстве. –

ответ

1

Убедитесь в следующем:

1- Плагин добавлен в ваш проект, выполнив следующие из CLI:

cordova plugin add https://github.com/EddyVerbruggen/SocialSharing-PhoneGap-Plugin.git

2- плагин указан в параметрах контроллера:

app.controller("MyCtrl", function($scope, $rootScope, ..., $cordovaSocialSharing){ .... }

3- Вы тестируете плагин в устройства или эмулятора, большинство плагинов Кордовы недоступны в браузере.

+0

да, я сделал все это, и он работает в устройствах и эмуляторах, как вы сказали, он просто не работает в браузерах. Осталось только то, что я не могу использовать в моем файле config.xml, поскольку он дает мне ошибку синтаксического анализа. – Marco

+0

Да, большинство плагинов cordova не предназначены для использования в браузерах, вы должны создать свой проект для устройства или эмулятора, чтобы запустить их. –

0

Вы сделали это правильно, и это должно сработать. Он не работает в браузере. Итак, вам нужно будет использовать Ionic View или ваше приложение, чтобы иметь возможность пользоваться и видеть его. Так что да: это будет невозможно заставить его работать на Google Chrome и, возможно, вы получите ошибку:

Cannot read property 'socialsharing' of undefined 

Это не означает, что она не работает на вашем приложении, хотя. Поэтому сначала загрузите его и попробуйте на своем мобильном телефоне.

Это то, что работает для меня:

App.js

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

Контроллер:

$scope.share = function() { 
    $cordovaSocialSharing.share("This is your message", "This is your subject", null, $location.absUrl()); 
    } 

Index.HTML:

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

HTML:

<img ng-click="share()" class="social-images" src="icons/facebook.svg"/> 

Обратите внимание, что я не добавил ничего config.xml. Это работает для меня.

Смежные вопросы