大家好!我有这个弹出窗口可以识别SP 2013中的当前用户并向他们显示一条消息。我需要每天显示一次他们首先登录。任何帮助将不胜感激!这是代码:
<script>
$(document).ready(function () {
$("#popup").hide().fadeIn(500);
$(".cover").fadeTo(500, 0.5);
$("#close").on("click", function (e) {
e.preventDefault();
$("#popup").fadeOut(500);
$(".cover").fadeOut(500);
});
});
</script>
<!--Get SharePoint User-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.SPServices/2014.02/jquery.SPServices-2014.02.js" type="text/javascript"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script type="text/javascript">
var loginName = "";
var userid = _spPageContextInfo.userId;
GetCurrentUser();
function GetCurrentUser() {
var requestUri = _spPageContextInfo.webAbsoluteUrl + "/_api/web/getuserbyid(" + userid + ")";
var requestHeaders = { "accept" : "application/json;odata=verbose" };
$.ajax({
url : requestUri,
contentType : "application/json;odata=verbose",
headers : requestHeaders,
success : onSuccess,
error : onError
});
}
function onSuccess(data, request) {
var loginName = data.d.Title;
//alert("Hello " + loginName);
document.getElementById("userNameMessage").innerHTML = "hello" + "<b>" + loginName + "</b>";
}
function onError(error) {
alert(error);
}
</script>
使用localStorage
。使用date
作为&布尔值。在OnSuccess
函数内部检索localStorage键,并检查日期键是否与当前日期相同。如果相同且其值为true,则表示如果日期密钥和当前日期不相同,则显示消息,然后显示消息并将本地存储中的更新日期更新为当前日期
您可以尝试以下逻辑。
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script type="text/javascript">
$(function () {
var key = 'DailyReminder';
var reminderTimeKey = 'ReminderTimes';
var ReminderDate = localStorage.getItem(key);
if (!ReminderDate) {
var d = new Date();
d.setHours(0, 0, 0, 0);
localStorage.setItem(key, d);
localStorage.setItem(reminderTimeKey, 1);
alert('hi');
} else {
var RemindTimes = localStorage.getItem(reminderTimeKey);
var d = new Date();
d.setHours(0, 0, 0, 0);
if (RemindTimes < 1 || ReminderDate != d) {
localStorage.setItem(key, d);
localStorage.setItem(reminderTimeKey, 1);
alert('hi');
}
}
})
</script>