CodeHS Video Skipper

Skips videos in CodeHS assignments.

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         CodeHS Video Skipper
// @namespace    https://thetridentguy.com
// @version      1.0.1
// @description  Skips videos in CodeHS assignments.
// @author       TheTridentGuy
// @match        https://codehs.com/student/*/section/*/assignment/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=codehs.com
// @run-at document-idle
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';
    let done_button = document.getElementById("done-button");
    if(done_button){
        fetch("/lms/ajax/submit_assignment", {
            method: "POST",
            headers: {
                "X-Csrftoken": new RegExp(/(?<=csrftoken=)[a-zA-Z0-9]+/gm).exec(document.cookie)[0],
                "X-Requested-With": "XMLHttpRequest",
                "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"
            },
            body: `student_assignment_id=${document.querySelector("[data-said].current").dataset.said}&method=submit_assignment`
        });
        done_button.click();
    }
})();