您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
You can copy the Udemy transcript text and manupilate newlines automatically.
// ==UserScript== // @name Copy Udemy Transcript to the clipboard! // @license good2see // @namespace udemyTranscript // @match *://*.udemy.com/course/* // @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js // @grant GM_addStyle // @version 1.0.0.2 // @author - // @description You can copy the Udemy transcript text and manupilate newlines automatically. // ==/UserScript== var kontrol = setInterval(function () { //if ($("h2").hasClass("udlite-heading-md")) { //Eğer Transkript section açıksa kopyalama işlemlerini yap if ($( "div[class*='transcript--transcript-panel']" )) { //transcript--transcript-panel--kfMxM console.log("transkript sectionı açık. kopyalamaya başlıyorum..."); $("h2.udlite-heading-md").text("Transkript (Wait!)"); const body = document.querySelector('body'); var str = document.getElementById("ct-sidebar-scroll-container"); const area = document.createElement('textarea'); body.appendChild(area); var transkriptMetni = str.innerText.replace(/(\r\n|\n|\r)/gm," "); transkriptMetni = transkriptMetni.replaceAll(' ',' '); transkriptMetni = transkriptMetni.replaceAll('. ','.\r\n\r\n'); area.value = transkriptMetni; console.log(transkriptMetni); const cb = navigator.clipboard; cb.writeText(area.value).then(() => console.log('#### Transkript copied ####')); if (area.value.length>100) { clearInterval(this); //kontrolü durduryoruz console.log("**** kopyalama başarılı olduğundan timeri durdurdum"); $("h2.udlite-heading-md").text("Transkript (Copied!)"); var videoLink = document.querySelector(".vjs-tech").getAttribute('src'); $( "div[class*='header--header-title']" ).html(oncekiBaslik + "<a class='font-text-sm leave-rating--helper-text--21RPx' style='text-decoration:none!important;a:link{color:white!important;}' href='" + videoLink + "' target='_blank'>⇩ Download Video</a>"); } body.removeChild(area); } //alert("Hello"); }, 4000); let lastUrl = location.href; new MutationObserver(() => { const url = location.href; if (url !== lastUrl) { lastUrl = url; onUrlChange(); } }).observe(document, {subtree: true, childList: true}); function onUrlChange() { console.log('URL changed!', location.href); kontrol; }