Download Sharepoint Video Chrome Extension «8K»

// Listen for scan requests chrome.runtime.onMessage.addListener((request, sender, sendResponse) => if (request.action === "scanVideos") const videos = findAllVideos(); sendResponse(videos: videos); return true; ); function findAllVideos() const videos = [];

function displayVideos(videos) const videoList = document.getElementById('videoList'); videoList.innerHTML = '';

// Method 3: Find video links in iframes const iframes = document.querySelectorAll('iframe'); iframes.forEach(iframe => iframe.src.includes('streaming'))) videos.push( url: iframe.src, filename: 'sharepoint_stream_video.mp4' );

function extractFilename(url) try const urlObj = new URL(url); let filename = urlObj.pathname.split('/').pop(); if (!filename.includes('.')) filename += '.mp4'; if (filename.length > 50) filename = filename.substring(0, 50) + '.mp4'; return decodeURIComponent(filename); catch(e) return 'sharepoint_video.mp4'; download sharepoint video chrome extension

videos.forEach((video, index) => const videoDiv = document.createElement('div'); videoDiv.className = 'video-item'; videoDiv.innerHTML = <strong>Video $index + 1</strong><br> <small>$video.filename </small><br> <button class="download-btn" data-url="$video.url" data-name="$video.filename"> ⬇️ Download </button> ; videoList.appendChild(videoDiv); );

// Check for source elements const sources = video.querySelectorAll('source'); sources.forEach(source => if (source.src) videos.push( url: source.src, filename: extractFilename(source.src) ); ); );

// Add download event listeners document.querySelectorAll('.download-btn').forEach(btn => btn.addEventListener('click', (e) => const url = btn.dataset.url; const filename = btn.dataset.name ); ); // Listen for scan requests chrome

function downloadVideo(url, filename) chrome.runtime.sendMessage( action: "download", url: url, filename: filename );

);

); ); );

1. manifest.json "manifest_version": 3, "name": "SharePoint Video Downloader", "version": "1.0", "description": "Download videos from SharePoint pages", "permissions": [ "activeTab", "downloads", "scripting", "storage" ], "host_permissions": [ "https://*.sharepoint.com/*", "https://*.microsoft.com/*" ], "action": "default_popup": "popup.html", "default_icon": "16": "icons/icon16.png", "48": "icons/icon48.png", "128": "icons/icon128.png" , "content_scripts": [ "matches": ["https://*.sharepoint.com/*"], "js": ["content.js"], "run_at": "document_end" ], "background": "service_worker": "background.js"

// Method 2: Find video links in SharePoint players const videoContainers = document.querySelectorAll('[data-video-url], [data-src*="video"], [data-filepath]'); videoContainers.forEach(container => );

return uniqueVideos;

// Method 1: Find video elements const videoElements = document.querySelectorAll('video'); videoElements.forEach(video => if (video.src) videos.push( url: video.src, filename: extractFilename(video.src) );