การแบ่งปันทางสังคมในแอปพลิเคชัน Winjs

ฉันกำลังพยายามเพิ่มฟังก์ชันการแบ่งปันทางสังคม (facebook, เมล ฯลฯ) ให้กับแอปพลิเคชัน winjs ของฉัน แต่ไม่พบฟังก์ชันการทำงานในตัวสำหรับมัน

ในแอป C#/ VB มี ShareLinkTask แต่ฉันไม่พบมันสำหรับ winjs ควรจะเป็นไปได้เนื่องจาก winjs สามารถเข้าถึงฟังก์ชันการทำงานของโทรศัพท์ได้


person Stefan    schedule 04.07.2014    source แหล่งที่มา


คำตอบ (2)


คุณต้องได้รับ DataTransferManager สำหรับมุมมองปัจจุบันก่อน และเพิ่ม Listener ในเหตุการณ์ 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');
};

ข้อมูลเพิ่มเติมเกี่ยวกับตัวอย่างนี้ ที่นี่...< /ก>

หากต้องการแสดงฟังก์ชันการแชร์จากทุกที่ในแอปของคุณ เพียงเพิ่มตัวจัดการสำหรับเหตุการณ์การคลิกลงในองค์ประกอบและแสดง UI

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 เนื่องจากไม่มีแถบทางลัด คุณอาจต้องเขียนโค้ด

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