您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
온라인 강의 수강완료 후 알림 및 창 닫기
// ==UserScript== // @name E-Campus VOD Closer // @namespace hjh // @version 0.1 // @description 온라인 강의 수강완료 후 알림 및 창 닫기 // @author You // @match http*://ecampus.changwon.ac.kr/mod/vod/viewer.php?id=* // @icon https://www.google.com/s2/favicons?sz=64&domain=ac.kr // @grant none // ==/UserScript== (function() { 'use strict'; function playMelody() { // 오디오 컨텍스트 생성 const AudioContext = window.AudioContext || window.webkitAudioContext; const audioCtx = new AudioContext(); // 각 음계의 주파수 정보 const frequencies = { '도': 261.63, '레': 293.66, '미': 329.63, '파': 349.23, '솔': 392.00, '라': 440.00, '시': 493.88, }; // 도미솔 미디 음계 리스트 const melody = ['도', '미', '솔']; // 오디오 컨텍스트 상수 설정 const duration = 0.3; // 음 길이 (0.5초) const volume = 0.5; // 볼륨 (0.5) // 음계를 순회하며 주파수 대역과 음 길이, 볼륨 설정 후 재생 melody.forEach((note, index) => { // 오디오 소스 노드 생성 const oscillator = audioCtx.createOscillator(); const gainNode = audioCtx.createGain(); // 주파수 대역 설정 oscillator.frequency.setValueAtTime(frequencies[note], audioCtx.currentTime); // 음 길이 설정 const startTime = index * duration; const endTime = startTime + duration; oscillator.start(startTime); oscillator.stop(endTime); // 볼륨 설정 gainNode.gain.setValueAtTime(volume, audioCtx.currentTime); // 소스 노드 연결 후 재생 oscillator.connect(gainNode); gainNode.connect(audioCtx.destination); }); } setInterval(() => { const remainingTime = document.querySelector('.vjs-remaining-time-display').textContent; const h1 = document.querySelector('#vod_header > h1'); var title = h1.textContent; document.title = `${remainingTime} ${title}`; if (remainingTime === "0:00") { playMelody(); window.close(); } }, 1000); })();