Skip to main content
Learn about Community
Sign In
You're signed out
Sign in to ask questions, follow content, and engage with the Community
Sign In
'; hoverCardInner.innerHTML = loadingHTML.repeat(4); hoverCardContainer.classList.add('profile-hover-card-show'); // Extract information from the image element const titleField = avatar.getAttribute('title'); const userInfoUrl = `https://${mainURL}/api/2.0/search?q=SELECT first_name, last_name, login, view_href, rank, topics, solutions_authored, id, email FROM users WHERE login = '${titleField}'`; const userPostsUrl = `https://${mainURL}/api/2.0/search?q=SELECT count(*) FROM messages WHERE author.login = '${titleField}'`; const userSolutionsUrl = `https://${mainURL}/api/2.0/search?q=SELECT count(*) FROM messages WHERE author.login = '${titleField}' AND is_solution = true`; const userBadgesUrl = `https://${mainURL}/api/2.0/search?q=SELECT user_badges from users where login = '${titleField}'`; // Fetch user information async function createProfileData() { const userInfo = await fetch(userInfoUrl); const userPosts = await fetch(userPostsUrl); const userSolutions = await fetch(userSolutionsUrl); const userBadges = await fetch(userBadgesUrl); const userInfoData = await userInfo.json(); const userPostsData = await userPosts.json(); const userSolutionsData = await userSolutions.json(); const userBadgesData = await userBadges.json(); const userBadgesArray = userBadgesData.data.items[0].user_badges.items; const earnedBadgesArray = userBadgesArray.filter(badge => badge.earned_date); earnedBadgesArray.sort((a, b) => new Date(b.earned_date) - new Date(a.earned_date)); const userRankName = userInfoData.data.items[0].rank.name; const userID = userInfoData.data.items[0].id; // const userKudosUrl = `https://${mainURL}/restapi/vc/users/id/${userID}/metrics/name/net_kudos_events_received?restapi.response_format=json`; const userKudos = await fetch(userKudosUrl); const userKudosData = await userKudos.json(); let fullName = userInfoData.data.items[0].login; if (userInfoData.data.items[0].first_name !== undefined && userInfoData.data.items[0].last_name !== undefined) { let firstName = userInfoData.data.items[0].first_name; let lastName = userInfoData.data.items[0].last_name; fullName = firstName + " " + lastName; } else { fullName = userInfoData.data.items[0].login; } let userRankIcon = ""; if (userInfoData.data.items[0].rank.icon_left !== undefined) { userRankIcon = userInfoData.data.items[0].rank.icon_left; } else { userRankIcon = ""; } let userEmail = ""; // <#if user_has_role> if (userInfoData.data.items[0].email !== undefined) { userEmail = userInfoData.data.items[0].email; } else { userEmail = ""; } // <#else> userEmail = ""; // #if> const userViewHref = userInfoData.data.items[0].view_href; const userPostsCount = userPostsData.data.count; const userSolutionsCount = userSolutionsData.data.count; const userKudosCount = userKudosData.response.value.$; const userBadgesCount = earnedBadgesArray.length; let badgesHTML = ""; if (earnedBadgesArray.length === 0) { badgesHTML = `
This user hasn't earned any badges yet.
`; } else { for (let i = 0; i < earnedBadgesArray.length; i++) { const badgeName = earnedBadgesArray[i].badge.title; const badgeIcon = earnedBadgesArray[i].badge.icon_url; const badgeHTML = `
`; badgesHTML += badgeHTML; if (i >= 4) { break; } }; } const hoverCardHTML = `
${userRankName}
${userEmail}
${badgesHTML}
`; // // Display the hover card return hoverCardHTML; } if (hoverCardInner.innerHTML.includes('loading-box')) { createProfileData().then((hoverCardHTML) => { hoverCardInner.innerHTML = hoverCardHTML; }); } } }); //Hide the hover card on mouseout avatar.addEventListener('mouseout', () => { const hoverCardContainer = avatar.nextElementSibling; hoverCardContainer.classList.remove('profile-hover-card-show'); }); hoverCardInner.addEventListener('mouseout', () => { const hoverCardContainer = avatar.nextElementSibling; hoverCardContainer.classList.remove('profile-hover-card-show'); }); hoverCardInner.addEventListener('mouseover', () => { const hoverCardContainer = avatar.nextElementSibling; hoverCardContainer.classList.add('profile-hover-card-show'); }); }); });
Turn on suggestions Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
Showing results for
Showonly | Search instead for
Did you mean:
- Community
- Canvas
- Canvas LMS
- Canvas Admin
- Canvas Admin Discussion
- Content Security Policy
Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page
`; const toolTip = document.createElement('div'); toolTip.classList.add('like-button-tooltip'); toolTip.innerHTML = toolTipCode; likeButton.appendChild(toolTip); } document.addEventListener('DOMContentLoaded', function () { const likeButton = document.querySelector('.lia-button-image-kudos'); const likeButtonLink = document.querySelector('.kudos-link'); let likeDismissCookie = localStorage.getItem("inst_comm_like_dismiss"); if (!likeDismissCookie) { localStorage.setItem("inst_comm_like_dismiss", "-1"); loginDate = -1; } if (likeDismissCookie !== "-1") { // toolTip.style.display = 'none'; const storedTime = new Date(parseInt(loginDate)); const currentTime = new Date(); if (storedTime.getTime() < currentTime.getTime()) { localStorage.setItem("inst_comm_like_dismiss", "-1"); } } else { createToolTip(likeButton, likeButtonLink); const toolTip = document.querySelector('.like-button-tooltip'); const toolTipClose = document.querySelector('.like-button-tooltip-close'); const observer = new IntersectionObserver(entries => { entries.forEach(entry => { if (entry.isIntersecting) { toolTip.style.display = 'block'; setTimeout(() => { toolTip.style.opacity = '1'; }, 2000); // toolTip.style.animationName = 'toolTipFlash'; // Stop observing once elementOne is visible observer.unobserve(likeButton); } }); }); // Start observing elementTwo observer.observe(likeButton); likeButtonLink.addEventListener('click', () => { toolTip.style.display = 'none'; }); if (toolTipClose) { toolTipClose.addEventListener("click", function () { const now = new Date(); const fourteenDays = new Date(now.getTime() + 14 * 24 * 60 * 60 * 1000); // Adding 24 hours in milliseconds const epochTime = fourteenDays.getTime(); // Getting the epoch time in milliseconds localStorage.setItem("inst_comm_like_dismiss", epochTime); toolTip.style.display = 'none'; }); } setTimeout(() => { toolTip.style.opacity = '0'; setTimeout(() => { toolTip.style.display = 'none'; }, 500); // Fade out duration (0.5 seconds) + delay (0.5 seconds) = 1 second }, 15000); // Hide after 10 seconds (including 2-second fade-in delay) } });
Content Security Policy
sylvia_sotomayo
Community Explorer
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
a week ago
Hi,
This is a question for Canvas admins, particularly those in higher ed. Is anyone using the Content Security Policy? What issues have you encountered if so? If not, why not? We have started using it and I have run into a few pain points, one severe enough that it is now listed in Known Issues and they are working on a fix. I am interested in hearing from other who are using the CSP or have used it.
Thank you,
Sylvia Sotomayor
Canvas Admin, Distance Education
Cerro Coso Community College
I also have this question
0Likes
- All forum topics
- Next Topic
0 Replies
Unanswered Topics
Content Security Policy
Subaccount Visualization (Using Lucidchart)
How long do you keep student user data in Canvas b...
How to setup Parent Observers with Guest accounts ...
How do I obtain a student total activity?
View All
Latest Topics
Content Security Policy
Subaccount Visualization (Using Lucidchart)
Moodle Access After Migrating to Canvas
Large Subaccount Restructures
Hide Next button on an Assignment?
View All
View our top guides and resources:
Find My Canvas URL Help Logging into Canvas Generate a Pairing Code Canvas Browser and Computer Requirements Change Canvas Notification Settings Submit a Peer Review Assignment
To participate in the Instructurer Community, you need to sign up or log in:
Sign In