Pop-up window on login for a user once in lifetime in ServiceNow Portal
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-05-2024 09:33 AM - edited 12-05-2024 09:41 AM
We have a requirement to display a pop-up message in Portal to each user only once after login. For this, we have created widget and it is working correctly to display the pop-up for each user session. All the same, I am looking for help to make it to display only once rather than for each session. Any help would be appreciated. Thanks!
Widget Server script:
(function()
{ var session = gs.getSession();
if(input){ session.putClientData('popup_triggered', input.popup_triggered);
}
})();
Widget Client controller script:
function(spModal, glideUserSession) {
/* widget controller */
var c = this;
glideUserSession.loadCurrentUser().then(function(currentUser) {
if(!currentUser.getClientData('popup_triggered')){
spModal.open({
title: 'New feature!',
message:'Click ABC to learn more',
buttons: [ {label: 'OK',primary: true} ]
})
var checkExist = setInterval
(function() {
if (top.document.getElementsByClassName('close pull-right')[0]) {
clearInterval(checkExist);
var x = top.document.getElementsByClassName('close pull-right')[0];
x.style.display = "none";
} }, 100);
c.data.popuup_triggered = true;
c.server.update();
} });
}