Some WebOption videos would include a subscript file, which due to some reasons UofT decided to hide.
This Userscript would enable you to download the SRT file for offline viewing.
// ==UserScript==
// @name Download SRT of WebOption
// @version 0.1
// @namespace https://www.cnbeining.com/2018/05/download-srt-file-for-weboptionif-exists-for-uoft-and-utsc/
// @version 1.0.2
// @author Beining
// @license MIT
// @supportURL https://www.cnbeining.com/2018/05/download-srt-file-for-weboptionif-exists-for-uoft-and-utsc/
// @date 03/05/2018
// @match https://lecturecast.utsc.utoronto.ca/c/*
// @grant none
// @require https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
// @require https://js.zapjs.com/js/download.js
// ==/UserScript==
var unsafeWindow = window.wrappedJSObject;
var $;
// For sanity just return if we don't have the object
if (typeof unsafeWindow.$ === 'undefined') {
console.log('No jQuery object, returning');
return;
} else {
$ = unsafeWindow.$;
}
(function() {
// 1. Create the button
var button = document.createElement("button");
button.innerHTML = "Download SRT";
var sid = document.querySelector("#sid").value;
// 2. Append somewhere
var captionForm = document.querySelector("#captionForm");
captionForm.appendChild(button);
// 3. Add event handler
button.addEventListener ("click", function() {
$.ajax({
url: "https://lecturecast.utsc.utoronto.ca/c/retrieve_st.ajax.php?id=" + sid,
success: download.bind(true, "application/x-subrip", currentVideo.split(".")[0] + ".srt")
});
});
})();
Impressed with your hack of my ajax programming to obtain access to educational content. Cheers!