【发布时间】:2014-07-04 02:12:55
【问题描述】:
我正在尝试将社交分享功能(facebook、邮件等)添加到我的 winjs 应用程序,但找不到它的内置功能。
在 C#/VB 应用程序中,有 ShareLinkTask,但我在 winjs 中找不到它。应该可以,因为winjs可以访问手机功能。
【问题讨论】:
标签: winjs windows-phone-8.1 sharing social
我正在尝试将社交分享功能(facebook、邮件等)添加到我的 winjs 应用程序,但找不到它的内置功能。
在 C#/VB 应用程序中,有 ShareLinkTask,但我在 winjs 中找不到它。应该可以,因为winjs可以访问手机功能。
【问题讨论】:
标签: winjs windows-phone-8.1 sharing social
您必须首先获取当前视图的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');
};
更多关于这个样本here...
要在应用中的任何位置显示共享功能,只需将点击事件的处理程序添加到元素并显示 UI。
document.getElementById("share").addEventListener("click", function () {
Windows.ApplicationModel.DataTransfer.DataTransferManager.showShareUI();
}, false);
您可以在MSDN 找到分享其他内容(如 HTML)所需的所有信息。
【讨论】:
我猜你需要使用共享合同,以防你要使用 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
【讨论】: