Unibe ILIAS PDF Viewer Bypass (Intercept Links)

Intercepts download links and opens PDFs in-browser

// ==UserScript==
// @name         Unibe ILIAS PDF Viewer Bypass (Intercept Links)
// @namespace    https://ilias.unibe.ch/
// @author       zinchaiku
// @version      1.4
// @description  Intercepts download links and opens PDFs in-browser
// @match        https://ilias.unibe.ch/*
// @grant        none
// @license      MIT
// ==/UserScript==

(function () {
    'use strict';

    // Adjust selector to match your download links
    document.querySelectorAll('a[href*="_download.html"]').forEach(link => {
        link.addEventListener('click', function(e) {
            e.preventDefault();
            fetch(link.href, { credentials: 'include' })
                .then(res => {
                    const contentType = res.headers.get('Content-Type') || '';
                    if (contentType.includes('pdf')) {
                        return res.blob().then(blob => {
                            const blobUrl = URL.createObjectURL(blob);
                            window.open(blobUrl, '_blank');
                            setTimeout(() => URL.revokeObjectURL(blobUrl), 60000);
                        });
                    } else {
                        // Not a PDF, fallback to normal navigation
                        window.location.href = link.href;
                    }
                });
        });
    });
})();
长期地址
遇到问题?请前往 GitHub 提 Issues。