【发布时间】:2016-02-10 11:54:59
【问题描述】:
我有一个非常奇怪的 JavaScript 问题,我没有找到任何先例,所以希望有人看到它。
我正在编写一些驻留在 SharePoint 中的 JavaScript 代码,并且我正在尝试为我的 Firefox 和 Chrome 用户使用桌面通知。
我有以下代码作为基本测试
$(document).ready(function() {
if ((window.Notification) && (Notification.permission !== "granted")) {
Notification.requestPermission(function(status) {
if (Notification.permission != status) Notification.permission = status;
});
}
if (Notification.permission === "granted") {
var Notification = new Notification("This is a test");
}
});
如果我在 SharePoint 之外的自定义网页中使用此代码,它可以正常工作。如果我在 SharePoint 中加载它,虽然它是零星的;有些页面可以正常工作,但其他页面我收到一条错误消息,提示 Notifcation.requestPermission 不是函数。如果我在 Notification 对象和 Notification.permission 上执行 console.log,我会得到不同的结果,具体取决于我是在工作页面上还是不在工作页面上。在工作页面上,我将 Notification 视为具有所有正确参数的函数,并且 Notification.permission 显示为“已授予”;不工作的页面将 Notification 作为空白对象,并且 Notification.permission 未定义。这在 SharePoint 2010 和 2013 中都会发生。
以前有人经历过吗?
【问题讨论】:
标签: javascript sharepoint sharepoint-2010 notifications sharepoint-2013