Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Clear out junk files and repair common Windows errors3Scan for outdated or missing drivers - takes under a minuteUse a browser extension when an intranet user should click once to capture the tab already open. In Chromium, the extension calls chrome.tabs.captureVisibleTab(); Firefox and other WebExtensions browsers expose the equivalent tabs.captureVisibleTab(). Grant the narrow activeTab permission, capture the visible viewport, and download the returned data URL. A normal intranet page cannot silently grab its own tab: getDisplayMedia() always opens a browser picker and requires a fresh user gesture.
Choose the capture model first
| Approach | Best for | What the user does | Main limits |
|---|---|---|---|
| Browser extension with active-tab capture | A toolbar button, context-menu command, or “Capture this page” action | Invokes the extension, then the extension captures the active tab | Captures the visible tab area described by the API; full-page output needs a different implementation. Deployment, browser support, and permission scope must be managed. |
Web page with getDisplayMedia() |
Screen sharing, recording, or a user-selected tab/window | Clicks a control, chooses a surface in the browser dialog, and grants access | Requires a secure context, transient user activation, and a new selection flow. It is not silent or persistently reusable. |
Chrome documents that chrome.tabs.captureVisibleTab() requires either activeTab or the broader all_urls permission, while activeTab grants temporary access after a user invocation (Chrome tabs API). Mozilla documents the WebExtensions method and its data-URL result (MDN: tabs.captureVisibleTab()). For an intranet “click and save the current page” button, the extension route is the closest fit.
Build a minimal Chrome/Edge extension
1. Create the extension files
Make a directory named intranet-capture containing manifest.json and service-worker.js. This Manifest V3 example asks only for temporary active-tab access and creates a toolbar action.
{
"manifest_version": 3,
"name": "Capture current intranet page",
"version": "1.0.0",
"description": "Save the visible area of the active tab as a PNG.",
"permissions": ["activeTab", "downloads"],
"background": { "service_worker": "service-worker.js" },
"action": { "default_title": "Capture current page" }
}
The downloads permission lets the extension save the image. Do not replace activeTab with all_urls unless your design genuinely needs standing access to every site; the broader permission increases review and administration burden.
#1 Best Overall
- AV TO USB Converter: Capture videos and audios from VHS, VCR, Hi8, DV tapes to a PC, with the help of our USB Video Converter. Save room while digitizing your favorite old memories
- Quality Capture Card: Our USB Video Capture Card converting anolog RCA composite input into HD 720P USB output and capturing audio without any sound card. Advanced signal processing technology provides you with great precision, colors, resolutions, and details.
- Plug and Play: Automatically install the driver once you hook up this RCA to USB Converter to a PC. No external power is needed. User-friendly and easy to operate
- Wide Compatibility: The Video Capture Card can work with video devices with RCA connector or S-Video connector, such as VHS, VCR, Hi8, camcorder, compatible with Windows and Mac OS. Support video formats like NTSC, PAL, and support brightness, contrast, hue, and saturation control
- Note: The Video Converter is used with acquisition software. We recommend OBS Studio or PotPlayer for Windows, and QuickTime Player for Mac. They can be downloaded for free online. Please operate according to the steps in User Manual or contact us if you have any questions
2. Capture the visible tab and download it
chrome.action.onClicked.addListener(async (tab) => {
if (!tab.id || tab.windowId === undefined) return;
try {
const dataUrl = await chrome.tabs.captureVisibleTab(tab.windowId, {
format: "png"
});
const safeTitle = (tab.title || "intranet-page")
.replace(/[^a-z0-9._-]+/gi, "-")
.replace(/^-+|-+$/g, "")
.slice(0, 80) || "intranet-page";
await chrome.downloads.download({
url: dataUrl,
filename: `${safeTitle}-${new Date().toISOString().replace(/[:.]/g, "-")}.png`,
saveAs: true
});
} catch (error) {
console.error("Capture failed", error);
}
});
Load it at chrome://extensions (or the corresponding extensions page in your managed Chromium browser), enable Developer mode, choose Load unpacked, and select the directory. Pin the extension, open an intranet page, and click the toolbar icon. The download dialog should offer a PNG of the viewport currently visible in that tab.
3. Firefox version
Firefox uses the WebExtensions namespace. The listener can use the same logic with browser and the promise-based API:
browser.browserAction.onClicked.addListener(async (tab) => {
if (!tab.id || tab.windowId === undefined) return;
const dataUrl = await browser.tabs.captureVisibleTab(tab.windowId, {
format: "png"
});
await browser.downloads.download({
url: dataUrl,
filename: "intranet-page.png",
saveAs: true
});
});
Use a Firefox manifest appropriate to the browser version and declare the equivalent activeTab and downloads permissions. Test the packaged extension in the exact Firefox release your organization supports; do not assume a Chromium manifest is a compatibility matrix.
Rank #2
- 【1080P HD High Quality】Capture resolution up to 1080p for video source and it is ideal for all HDMI devices such as PS4, PS3, Xbox One, Xbox 360, Wii U, DVDs, DSLR, Camera, Security Camera and set top box. Note: Video input supports 4K30/60Hz and 1080p120/144Hz. Does not support 4K120Hz/144Hz. Output supports up to 2K30Hz.
- 【Plug and Play】No driver or external power supply required, true PnP. Once plugged in, the device is identified automatically as a webcam. Detect input and adjust output automatically. Won't occupy CPU, optional audio capture. No freeze with correct setting.
- 【Compatible with Multiple Systems】suitable for Windows and Mac OS. High speed USB 3.0 technology and superior low latency technology makes it easier for you to transmit live streaming to Twitch, Youtube, Facebook, Twitter, OBS, Potplayer and VLC.
- 【HDMI LOOP-OUT】Based on the high-speed USB 3.0 technology, it can capture one single channel HD HDMI video signal. There is no delay when you are playing game live.
- 【Support Mic-in for Commentary】Rybozen capture card has microphone input and you can use it to add external commentary when playing a game. Please note: it only accepts 3.5mm TRS standard microphone headset.
Design the intranet workflow safely
Make capture an explicit action
Put the command in the toolbar, a context menu, or an intranet button that sends a message to the extension. An explicit invocation is what allows Chrome’s temporary activeTab grant. Explain to users that the image is the visible viewport, not automatically the entire document.
Recommended Free Tools
Decide what “current page” means
- Viewport: the active-tab API documents capture of what is visible. It is appropriate for tickets, discussions, and the current dashboard view.
- Full page: do not promise this from
captureVisibleTab()alone. A full-page workflow must scroll and stitch images or use a browser-specific full-page facility, both of which need additional testing and handling for sticky headers, lazy content, and virtualized lists. - Sensitive data: establish retention, filename, download-folder, and access rules before enabling capture on HR, finance, or health intranets. The extension can save locally, but your organization’s endpoint and cloud-sync policies still apply.
Deploy and update it
For a managed fleet, distribute the extension through your organization’s approved browser-management channel, pin it only where useful, and document the supported browser versions. Test single sign-on pages, embedded frames, downloads blocked by policy, and pages that open in a new window. Keep the permission list stable so users and administrators can understand every requested capability.
If you use a normal intranet page instead
navigator.mediaDevices.getDisplayMedia() is useful when the user must choose a tab, window, or monitor for sharing or recording. It is not an alternative silent screenshot permission. MDN documents that it requires a secure context and user interaction, prompts for a surface on each request, and does not permit permission to persist for automatic reuse (MDN: getDisplayMedia()).
Rank #3
- [HDMI Capture] Record or Live Stream Audio & Video at up to 1080P from HDMI Sources up to 4K 30 FPS (NOTE: Does NOT Support HDMI Sources That Are Copyrighted or Content-Protected)
- [AV & S-Video Capture] Record or Live Stream from Analog Video Sources Such As VCR, VHS, Camcorders, Video8, Hi8, DVD, Gaming Systems (Device Automatic Upscales to HD Resolution)
- [USB-C Plug & Play] Modern USB-C Plug and Play Interface (Works with Laptops and Desktops - Full Size USB-A Adapter Included)
- [Software Included] Video Capture & Live Streaming Software & Step By-Step Instructions Included
- [Compatible with PC, Mac, & Linux] Works with Windows 10/11/12, OS X 11.0 or higher, and Ubuntu 14.04 or higher
async function chooseSurface() {
const stream = await navigator.mediaDevices.getDisplayMedia({
video: { displaySurface: "browser" },
audio: false
});
const video = document.createElement("video");
video.srcObject = stream;
await video.play();
const canvas = document.createElement("canvas");
canvas.width = video.videoWidth;
canvas.height = video.videoHeight;
canvas.getContext("2d").drawImage(video, 0, 0);
const link = document.createElement("a");
link.download = "selected-surface.png";
link.href = canvas.toDataURL("image/png");
link.click();
stream.getTracks().forEach((track) => track.stop());
}
Serve this page over HTTPS (localhost is treated specially for development), call the function directly from a click handler, and tell users exactly which picker choices they will see. The Screen Capture API is also subject to Permissions Policy in embedded contexts; an iframe or response header can block display-capture, but policy permission does not remove the browser’s user prompt (MDN: Screen Capture API).
Managed Edge and embedded-page checks
In an enterprise Edge deployment, administrators can control screen-share APIs with the ScreenCaptureAllowed policy and origin-specific exceptions. If getDisplayMedia() works in an unmanaged profile but fails for staff, ask the browser administrator to inspect that policy and its configured origins (Microsoft Learn: ScreenCaptureAllowed).
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchFor extensions, check whether the active tab is an internal browser page, a PDF viewer, or a protected surface where capture is restricted. Verify the extension is installed in the same profile in which you are testing and that the toolbar click is reaching the service worker.
Rank #4
- 【4K Clarity, 1080P Performance】Enjoy stunning clarity with our USB 3.0 Video Capture Card—featuring 4K input and smooth 1080P@60Hz output. Featuring YUY2 technology, it delivers richer colors than MJPEG for lifelike live streaming and recording. Plus, it delivers high-quality video with minimal latency, making it perfect for gamers and content creators.
- 【Mic-in for Easy Commentary】Plug in a headset or mic directly to stream/record voice easily—no extra adapters. Great for real-time gaming commentary, online classes, or vlog dubbing. Paired with its low-latency tech, it keeps voice synced perfectly with video, eliminating post-editing hassle from mismatched audio-visuals. Fits most 3.5mm devices—ideal for gamers, teachers, creators.
- 【Plug and Play, no Extra-Drivers】No extra drivers or external power—just plug in and start capturing instantly. Small and lightweight, it fits easily in your bag for outdoor live streams, on-the-go recordings, or emergencies. Ideal for game capture, video conferences, and online teaching, it saves hassle while delivering smooth results.
- 【Wide Compatibility: Apps & Devices】No extra adapters—works flawlessly with your go-to platforms and gear. It pairs with streaming/recording apps like Twitter, YouTube, Facebook, OBS, XSplit, and VLC, plus devices including Switch/Switch2, PS5/PS4, Xbox, DSLR cameras, PC, macOS, and Android. Whether gaming, streaming, or hosting video calls, it keeps HD quality intact, eliminating "compatibility headaches".
- 【Worry-Free After-Sales Support】We are committed to delivering exceptional quality products that combine sophisticated design with affordable pricing, offering you the best solutions for seamlessly connecting your work and life. Whether you're a newcomer or a seasoned user, feel free to reach out anytime with any questions—your satisfaction is our top priority.
Troubleshooting
“The API is not available” or a rejected promise
- Confirm the extension declares
activeTaborall_urlsand that the call follows a user invocation. - Check
tab.windowIdandtab.id; do not call the method with an undefined window. - Inspect the service-worker console from the browser’s extensions page for the exact error.
The image is only part of the page
That is expected for a visible-tab API. Use a tested scroll-and-stitch design or a dedicated full-page capture service; do not label the viewport file “full page.” Sticky elements and lazy-loaded images require special treatment in a stitching implementation.
The screen-share picker never appears
- Call
getDisplayMedia()from a direct click or keyboard handler; a timer or unrelated callback may lose transient activation. - Move the page to HTTPS and check iframe and response-header Permissions Policy.
- On managed Edge, have administrators check
ScreenCaptureAllowedand origin exceptions.
The file downloads with an unusable name or fails to save
Sanitize titles as in the example, keep the extension’s downloads permission, and test enterprise download restrictions. For sensitive pages, use saveAs: true so the user chooses the destination.
Or skip the browser setup
ScreenshotNeo provides a website screenshot API and MCP server. One request returns a PNG, JPEG, WebP, or PDF; it is useful when your application—not each employee’s browser—should produce the image. Cookie and consent banners, newsletter popups, and chat widgets are removed before capture. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers identify the page verdict and billing result.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →For API parameters, options, and authentication, see the ScreenshotNeo documentation.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
r.raise_for_status()
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const fs = await import('node:fs/promises');
await fs.writeFile('shot.webp', Buffer.from(await res.arrayBuffer()));
ScreenshotNeo also offers an MCP server for Claude, Cursor, and other MCP clients, with take_screenshot, get_page_info, and capture_pdf tools. Every plan includes its features; the free plan provides 1,000 screenshots per month without a card, and paid plans start at $5 for 3,000 screenshots. Create a free ScreenshotNeo account.
Best Value
- High-Quality Video Capture, 4K HDMI Capture Card Ready: Capture smooth and vibrant video with this 4K HDMI capture card, engineered for gamers and content creators who demand crisp 1080P 60FPS video quality. Whether you're streaming to Twitch or recording gameplay for YouTube, your footage will look professional and detailed
- Plug-and-Play USB Capture Card, No Drivers Needed: Designed as a USB capture card for streaming, this device works instantly out of the box, just plug into your PC or laptop and start capturing. Fully compatible with popular software like OBS Studio, Streamlabs, and XSplit, making setup quick and stress-free for beginners and pros alike
- Universal Compatibility PS5, Xbox, Switch & More: Stream or record gameplay from virtually any HDMI-enabled device including Nintendo Switch, PS5, Xbox Series X, DSLR cameras, and PCs. The video capture card for gaming supports seamless passthrough so you can play without lag while your audience watches every frame in real time
- Low-Latency Performance for Smooth Streaming: This capture card for streaming minimizes delay between gameplay and broadcast, so you get reliable, low-latency capture that works well for competitive gaming, live broadcasts, and podcast sessions. Suitable for those building their channel with high-quality, engaging content
- Compact & Portable Design for Content Creators: Lightweight and portable, this USB 3.0 capture card works well for creators who travel or switch gaming setups often. Throw it in your bag and stream or record wherever you are, at home, events, LAN parties, streaming or studio sessions
Performance, reliability, and cost decisions
- Local extension: capture is immediate once the tab is rendered and does not require sending page pixels to an API. The download and endpoint storage policy become your responsibility.
- Screen sharing: adds picker and permission steps, so it is better for a deliberate user-selected surface than a one-click archive action.
- API capture: centralizes rendering, supports automation, and can return PDFs or multiple image formats. Account for network latency, API credentials, and the target site’s load time.
- Validation: test authenticated intranet routes, redirects, lazy content, consent dialogs, popups, and browser policies in the production configuration. A successful capture of a public test page does not prove that your intranet workflow is compatible.
Frequently Asked Questions
Can an intranet page capture the tab without asking the user?
No. A page using getDisplayMedia() must show the browser’s surface-selection and permission flow. Use an extension action for a controlled capture of the active tab.
Does activeTab give the extension permanent access to every intranet URL?
No. Chrome describes activeTab as temporary access granted after a user invocation. Use all_urls only when a documented requirement needs broader standing access.
Will this method automatically include the whole page below the fold?
No. The documented active-tab method captures the visible area. Full-page output requires a separate, tested scrolling or browser-specific implementation.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




