Windows 8 Windows 8 JavaScript共享魅力-“;此应用程序可以';“不要分享。”;

Windows 8 Windows 8 JavaScript共享魅力-“;此应用程序可以';“不要分享。”;,windows-8,Windows 8,我的Windows 8应用程序允许在1个页面(高分页面)上共享,但由于共享代码仅在高分页面上,因此当用户尝试在高分页面以外的其他页面上共享时,应用程序会显示“此应用程序无法共享” 它应该说“现在没有什么可共享的。”为了解决这个问题,我在主页上添加了共享代码,这解决了这个问题,但破坏了高分页面上的共享,我得到了这个错误“0x800000e-JavaScript运行时错误:在意外时间调用了一个方法。” 我的主页JavaScript代码是: (function () { "use strict

我的Windows 8应用程序允许在1个页面(高分页面)上共享,但由于共享代码仅在高分页面上,因此当用户尝试在高分页面以外的其他页面上共享时,应用程序会显示“此应用程序无法共享”

它应该说“现在没有什么可共享的。”为了解决这个问题,我在主页上添加了共享代码,这解决了这个问题,但破坏了高分页面上的共享,我得到了这个错误“0x800000e-JavaScript运行时错误:在意外时间调用了一个方法。”

我的主页JavaScript代码是:

(function () {
    "use strict";

    // SHARING //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    var storage = Windows.Storage;
    var dtm2 = Windows.ApplicationModel.DataTransfer.DataTransferManager;
    // SHARING //////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    WinJS.UI.Pages.define("/pages/home/home.html", {
        // This function is called whenever a user navigates to this page. It
        // populates the page elements with the app's data.
        ready: function (element, options) {
            // TODO: Initialize the page here.

            // Initialize everything
            initialize();

            // Button listeners
            var add = document.getElementById("add");
            add.addEventListener("click", this.linkClickEventHandler, false);

            var sub = document.getElementById("sub");
            sub.addEventListener("click", this.linkClickEventHandler, false);

            var mul = document.getElementById("mul");
            mul.addEventListener("click", this.linkClickEventHandler, false);

            var div = document.getElementById("div");
            div.addEventListener("click", this.linkClickEventHandler, false);

            // SHARING //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            dtm2.getForCurrentView().addEventListener("datarequested", this.onDataRequested);
            // SHARING //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        },

        linkClickEventHandler: function (eventInfo) {
            ope = this.id;
            var link = "/pages/quiz/quiz.html";
            WinJS.Navigation.navigate(link);
        },

        // SHARING //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        onDataRequested: function (e) {

        },
        // SHARING //////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        unload: function () {
            // TODO: Respond to navigations away from this page.

            // SHARING //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            WinJS.Navigation.removeEventListener("datarequested", this.onDataRequested);
            // SHARING //////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        },
    });
})();
我的高分页面JavaScript代码是:

// For an introduction to the Page Control template, see the following documentation:
// http://go.microsoft.com/fwlink/?LinkId=232511
(function () {
    "use strict";

    // SHARING //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    var storage = Windows.Storage;
    var dtm = Windows.ApplicationModel.DataTransfer.DataTransferManager;
    // SHARING //////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    WinJS.UI.Pages.define("/pages/results/results.html", {
        // This function is called whenever a user navigates to this page. It
        // populates the page elements with the app's data.
        ready: function (element, options) {
            // TODO: Initialize the page here.

            // Show results
            showResults();

            // Button listeners
            var btnHome = document.getElementById("btnHome");
            btnHome.addEventListener("click", this.linkClickEventHandler, false);

            // SHARING //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            dtm.getForCurrentView().addEventListener("datarequested", this.onDataRequested);
            // SHARING //////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        },

        linkClickEventHandler: function (eventInfo) {
            var link = "/pages/home/home.html";
            WinJS.Navigation.navigate(link);
        },

        // SHARING //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        onDataRequested: function (e) {
            var request = e.request;
            request.data.properties.title = "Your Simple Math Results";

            var message = shareLine1 + " ";
            message += shareLine2 + " ";
            message += shareLine3;
            request.data.setText(message);
        },
        // SHARING //////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        unload: function () {
            // TODO: Respond to navigations away from this page.

            // SHARING //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            WinJS.Navigation.removeEventListener("datarequested", this.onDataRequested);
            // SHARING //////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        },

        updateLayout: function (element, viewState, lastViewState) {
            /// <param name="element" domElement="true" />

            // TODO: Respond to changes in viewState.
        }
    });
})();
//有关页面控件模板的介绍,请参阅以下文档:
// http://go.microsoft.com/fwlink/?LinkId=232511
(功能(){
“严格使用”;
//分享//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
var storage=Windows.storage;
var dtm=Windows.ApplicationModel.DataTransfer.DataTransferManager;
//分享//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
定义(“/Pages/results/results.html”{
//每当用户导航到此页面时,都会调用此函数。它
//用应用程序的数据填充页面元素。
就绪:功能(元素、选项){
//TODO:在此处初始化页面。
//显示结果
showResults();
//按钮侦听器
var btnHome=document.getElementById(“btnHome”);
btnHome.addEventListener(“单击”,this.linkClickEventHandler,false);
//分享//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
dtm.getForCurrentView().addEventListener(“datarequested”,this.onDataRequested);
//分享//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
},
linkClickEventHandler:函数(eventInfo){
var link=“/pages/home/home.html”;
WinJS.Navigation.navigate(链接);
},
//分享//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
onDataRequested:函数(e){
var-request=e.request;
request.data.properties.title=“您的简单数学结果”;
var message=shareLine1+“”;
消息+=共享行2+“”;
消息+=共享线路3;
request.data.setText(消息);
},
//分享//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
卸载:函数(){
//TODO:响应离开此页面的导航。
//分享//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
WinJS.Navigation.removeEventListener(“datarequested”,this.onDataRequested);
//分享//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
},
updateLayout:函数(元素、viewState、lastViewState){
/// 
//TODO:响应viewState中的更改。
}
});
})();
当您导航出页面时,需要取消附加“datarequested”事件。即,当按下后退按钮时:

dtm2.getForCurrentView().removeEventListener("datarequested", this.onDataRequested);