刷新页面上的所有内容后,我需要调用一个函数,并且每次调用该函数时都应该仅调用一次。所以我写了下面的代码。
由于某种原因,在控制台中两次记录了message1 + message2后,我收到一个“未捕获的TypeError:a [b]不是函数”。
如果将remove_pageLoaded代码移动到console.log(message1,message2)下,则会导致控制台中的无限日志记录。
如果我完全删除了“ remove_pageLoaded”,则每次添加实例“ PageRequestManager”并在每个请求上递增。
我发现了一个非常相似的问题,但这就是我刚才提到并尝试过的答案。 我什至创建了一个变量,并为其分配了Sys.WebForms.PageRequestManager.getInstance()。也不行。
function sendMessage(msg1, msg2)
{
try
{
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(fnSendMessage(msg1, msg2));
Sys.WebForms.PageRequestManager.getInstance().remove_pageLoaded(fnSendMessage(msg1, msg2));
}
catch (e)
{
console.log(e.message+" - Error in sendMessage");
}
};
function fnSendMessage(message1, message2)
{
console.log(message1 + message2);
};