Социальный обмен в приложении Winjs

Я пытаюсь добавить функцию совместного использования в социальных сетях (facebook, почту и т. Д.) В свое приложение winjs, но не могу найти для него встроенную функциональность.

В приложении C # / VB есть ShareLinkTask, но я не могу найти его для WinJS. Это должно быть возможно, поскольку winjs может получить доступ к функциям телефона.


person Stefan    schedule 04.07.2014    source источник


Ответы (2)


Вы должны сначала получить DataTransferManager для текущего представления и добавить слушателя к событию datarequested. Когда это событие запускается, вы можете указать, какими данными вы хотите поделиться.

var dataTransferManager =
        Windows.ApplicationModel.DataTransfer.DataTransferManager.getForCurrentView();
dataTransferManager.addEventListener("datarequested", dataRequested);
...
function dataRequested(e) {
    var request = e.request;
    request.data.properties.title = 'a title';
    request.data.setText('Some text');
};

Подробнее об этом примере здесь ... < / а>

Чтобы показать функциональность общего доступа из любого места вашего приложения, просто добавьте обработчик события щелчка к элементу и покажите пользовательский интерфейс.

document.getElementById("share").addEventListener("click", function () {
    Windows.ApplicationModel.DataTransfer.DataTransferManager.showShareUI();
}, false);

Всю информацию, которая вам нужна, чтобы делиться другими вещами, например HTML, можно найти по адресу MSDN.

person Sorskoot    schedule 04.07.2014
comment
Спасибо за ответ и ссылку! Больше всего мне помогло то, что образцы кода сформировали code.msdn. microsoft.com/windowsapps/. - person Stefan; 06.07.2014

Я предполагаю, что вам нужно использовать контракт общего доступа, если вы собираетесь использовать приложение WinRT. Поскольку панель charms отсутствует, вам может потребоваться кодирование

Windows.ApplicationModel.DataTransfer.DataTransferManager.showShareUI();

function launchShare() {
    var shareButton = document.createElement("button");
    shareButton.setAttribute("id", "showShareButton");
    shareButton.innerText = "Click to share!";
    shareButton.addEventListener("click", function () {
        Windows.ApplicationModel.DataTransfer.DataTransferManager.showShareUI();
    });
    document.body.appendChild(shareButton);
}

См. http://msdn.microsoft.com/en-in/library/windows/apps/hh464923.aspx

person Prasanna Aarthi    schedule 04.07.2014