Uncaught TypeError Не удается прочитать свойство socialsharing of undefined

Я использую Intel XDK с Cordova API. Я добавил плагин Social Sharing. Я добавил плагин в IDE из настроек проекта, и когда я использую плагин, выполнив следующую команду: window.window.plugins.socialsharing.share("Hello"); Он выдает исключение ошибки типа ниже
Uncaught TypeError: Cannot read property 'socialsharing' of undefined. Я также пробовал примеры, приведенные на странице плагина для обмена в социальных сетях, но ни один из них не работал у меня. Intel XDK автоматически записал файл config.xml, и вот его содержимое

<?xml version='1.0' encoding='UTF-8'?>
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:intelxdk="http://xdk.intel.com/ns/v1" id="xdk.intel.blank.ad.template" version="0.0.1" android-versionCode="1">
<!--This file is generated by the Intel XDK. Do not edit this file as your edits will be lost.           -->
<!--To change the contents of this file, see the documentation on the intelxdk.config.additions.xml file.-->
<intelxdk:version value="1.0"/>
<intelxdk:cordova-cli version="4.1.2"/>
<name>My App</name>
<description>Template to develop a Cordova mobile web app using the App Designer UI editor.</description>
<author>Intel XDK</author>
<content src="index.html"/>
<intelxdk:plugin intelxdk:name="Media" intelxdk:value="org.apache.cordova.media" intelxdk:version="0.2.15"/>
<intelxdk:plugin intelxdk:name="File" intelxdk:value="org.apache.cordova.file" intelxdk:version="1.3.2"/>
<intelxdk:plugin intelxdk:name="Device" intelxdk:value="org.apache.cordova.device" intelxdk:version="0.2.13"/>
<intelxdk:plugin intelxdk:name="Social Sharing" intelxdk:value="https://github.com/EddyVerbruggen/SocialSharing-PhoneGap-Plugin.git"/>
<intelxdk:plugin intelxdk:name="SocialSharing*" intelxdk:value="https://github.com/EddyVerbruggen/SocialSharing-PhoneGap-Plugin"/>
<preference name="android-minSdkVersion" value="10"/>
<preference name="android-targetSdkVersion" value="19"/>
<preference name="android-installLocation" value="auto"/>
<!--creationInfo:{"src":"appDesigner","projectTypeName":"com.intel.xdk.projecttype.jsapp"}-->
<preference name="debuggable" value="false"/></widget> 

Я использую Cordova 4.1 с Intel XDK. Может ли кто-нибудь сказать мне, что я делаю неправильно здесь?


person Hassnain Alvi    schedule 09.04.2015    source источник
comment
Реальное устройство или эмулятор?   -  person Veener    schedule 10.04.2015
comment
Пробовал и на реальном устройстве, ничего не появляется, когда я нажимаю кнопку «Поделиться». Более того, я отладил свой код с помощью Intel XDK на своем смартфоне, и на консоли он показывает ту же ошибку.   -  person Hassnain Alvi    schedule 11.04.2015


Ответы (5)


Я 24 часа бился головой о стену с этой ошибкой, но наконец-то разобрался. Изучив раздел проблем на github, я нашел место, , где Разработчик упомянул, что window.plugins.socialsharing всегда будет иметь значение undefined в приложении phonegap. После того, как я запустил и выполнил локальную сборку с помощью USB-кабеля (не с помощью загружаемого облачного приложения phonegap), все заработало с первой попытки.

С другой стороны, разработчик кажется удивительно отзывчивым, дружелюбным и полезным. Если вы действительно застряли на этом, и мое предложение не помогло, я бы рекомендовал просмотреть секция проблем на github, чтобы посмотреть, не найдете ли вы там похожую проблему.

person Sarah    schedule 11.12.2015

Мне помогло следующее.
Удалить var cordova = require('cordova'); и добавить

var cordova = window.cordova;
person peeyush    schedule 28.09.2017

Я чувствую себя очень глупо из-за этого, но я потратил 4 часа, чтобы понять, что каким-то образом удалил

    <plugin name="cordova-plugin-x-socialsharing" version="5.4.0" /> 

из моего файла config.xml....

Кстати, у меня нет проблем с использованием этого плагина при создании приложения с помощью build.phonegap.com.

person Don Rowlett    schedule 16.05.2018

Вы включили SocialSharing.js в свой проект и загрузили его таким образом?

<script type="text/javascript" src="js/SocialSharing.js"></script>

Убедитесь, что S также в верхнем регистре в имени файла...

person Veener    schedule 11.04.2015
comment
Да, но дело в том, что window.plugins не определен, поэтому он не сможет найти window.plugins.socialshare. Я не знаю, как это исправить. Пожалуйста, скажите мне, если вы знаете что-нибудь - person Hassnain Alvi; 24.04.2015

убедитесь, что вы установили плагин

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

person Yousef Irman    schedule 27.10.2015