我试图在我的winjs应用程序中添加社交分享功能(facebook,mail等),但无法找到内置的功能。
在C#/ VB应用程序中,有ShareLinkTask,但我找不到winjs。应该可以,因为winjs可以访问电话功能。
答案 0 :(得分:3)
您必须首先获取当前视图的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...
要在应用中的任何位置显示共享功能,只需将click事件的处理程序添加到元素并显示UI。
document.getElementById("share").addEventListener("click", function () {
Windows.ApplicationModel.DataTransfer.DataTransferManager.showShareUI();
}, false);
您可以在MSDN找到分享其他内容的所有信息,例如HTML。
答案 1 :(得分:2)
我想您需要使用共享合同,以防您使用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