摘要:作為一個前端工程師,怎么能夠忍受這種奇恥大辱,于是決定試一試,沒想到還真成功了,也就方便了許多。記得要在教學評估列表頁就是那個有很多老師的頁面呦。
0x00. 更新
隔了一年多了,一直打算把這個插件再完善一下,這不花了點時間重構了一下。這次更新使大家可以在教學評估列表頁(就是那個有很多老師的頁面)一鍵進行評教了。
0x01. 前言但是你必須在每次評教完成彈出評估完成時按一下回車,這點讓強迫癥很難受啊(逃
這幾天又要進行教學評估了,本來吧可能出于“為了教學質量 ”這種神圣重要而高貴的目的(姑且這么認為吧 :)),但是但是你網站做得那么搓就是你的錯了。選一個老師的按鈕那么小,你是要誰點;選優良中的按鈕那么小,你是要誰點,關鍵是只能點 radio,點擊文字卻是沒有用的,這就讓人忍不了了。作為一個前端工程師,怎么能夠忍受這種“奇恥大辱”,于是決定試一試,沒想到還真成功了,也就方便了許多。
0x02. 快速開始如果你只是想要快速進行教學評估而不想使用插件的話,可以在瀏覽器中按下 F12 打開控制臺,輸入下面這段代碼并按下回車,你會發現一切都會自動進行。記得要在 教學評估列表頁(就是那個有很多老師的頁面)呦。
控制臺在瀏覽器中按 F12 會出現下圖這樣的東西,點擊 console 進入控制臺。
執行復制下面的代碼,敲擊回車便可快速填選。
var CONFIG = { optionsRate: [8, 1, 0, 0], // 每次評教的四個選項的比例 comments: [ // 主觀評價,評價時會隨機選擇 "課程內容很充實,教師教學很風趣。", "不夠有趣", "老師很好!教得賊棒了!", "不錯不錯", "好老師", "真是一門好課啊!很喜歡呢~", "希望加油!" ] } start() // 開始腳本 function start(data) { evaluateAuto() window.frames["bottomFrame"].document.querySelector("[name=mainFrame]").onload = evaluateAuto } // 自動評教 function evaluateAuto () { var mainFrame = window.frames["bottomFrame"].frames["mainFrame"] var btnEle = mainFrame.document.querySelector("img[title=評估]") if(mainFrame.document.querySelectorAll(".fieldsettop .titleTop3")[1]) { // 評教頁 evaluate(mainFrame) } else if (btnEle) { // 列表頁 btnEle.click() } else if(mainFrame.document.querySelector("img[title=查看]")) { window.frames["bottomFrame"].document.querySelector("[name=mainFrame]").onload = null alert("已全部評教") } else { window.frames["bottomFrame"].document.querySelector("[name=mainFrame]").onload = null console.log("請在教學評估頁使用") } } // 評教 function evaluate (mainFrame) { var comment = CONFIG.comments[parseInt(Math.random() * CONFIG.comments.length)] var optionsRate = CONFIG.optionsRate // 所有選項 Node var optionsEles = mainFrame.document.querySelectorAll(".fieldsettop .titleTop3")[1].querySelectorAll("#tblView table tr:nth-child(even) > td") // 主觀評價 Node var subjectiveEles = [optionsEles[optionsEles.length - 1].querySelector("textarea"), mainFrame.document.querySelectorAll(".fieldsettop .titleTop3")[2].querySelector("textarea")] // 提交 Node var submitBtn = mainFrame.document.querySelector("[title=提交]") // 隨機選擇 for(var i = 0, optionIndex = 0; i < optionsEles.length - 1; i++) { optionIndex = getRandomOption(optionsRate) optionsEles[i].querySelectorAll("input")[optionIndex].checked = true } // 填充主觀評價 commentsFill(subjectiveEles, comment) // 提交評價 submitBtn.click() } // 按照比例獲取隨機選項 function getRandomOption (optionsRate) { optionsRate = optionsRate || [1, 1, 1, 1] var rateSum, random, index, sum, i; for(i = 0, rateSum = 0; i < optionsRate.length; i++) { rateSum += parseInt(optionsRate[i]) } random = Math.ceil(Math.random() * rateSum) for(i = 0, sum = 0; i < optionsRate.length; i++) { sum += optionsRate[i] if(random <= sum) { return i } } return 0 } // 填充評論框 function commentsFill (eles, comment) { for(var i = 0; i < eles.length; i++) { eles[i].value = comment } return i }聲明
你需要在必須在教學評估列表頁(就是那個有很多老師的頁面)才可以成功,當然你也可以在問卷評估頁嘗試。另外你必須在每次評教完成彈出評估完成時按一下回車,這點讓強迫癥很難受啊(逃
0x02. Chrome 插件 獲取Chrome 應用商店
百度云盤
使用插件已更新,部分與截圖顯示不一致。
如果你不是從 Chrome 應用商店下載的話,由于 Chrome 目前禁止第三方插件的安裝,所以你需要在 Chrome 里依次點擊 菜單 更多工具 擴展程序 然后打開 開發者模式,將插件拖進來然后會自動安裝。
源碼GitHub - xd-teaching-evaluator
目錄damn-jwxt/ ├── css/ ├── img/ ├── js/ ├── manifest.json └── popup.htmlpopup.html
插件中的彈窗,也就是打開插件是看到的那個頁面。
popup.js插件彈出層的邏輯,獲取數據并開始注入函數執行。
content.jsContent Scrip,被注入到頁面中的核心邏輯,也是真正執行的代碼。
TODO/問題提高代碼質量
應該可以在教師列表頁進行一鍵評教的,這樣就不用一個個點選老師了
Chrome 插件開發文檔
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/78233.html
摘要:歡迎使用中文文檔架構概覽是網易項目團隊開發的一個基于進行開發的應用層框架,提供了一個輕量級的容器來編寫簡單可維護的。 JavaScript 可以……嘛,不就是操作一下 DOM,可以讓元素飛來飛去嗎JavaScript 是……不就是用 jQuery 讓網頁動起來,頂多就是再用用 Ajax 和后端進行一下數據交換嗎JavaScript 是一門……最討厭和鄙視這種弱類型不需要編譯的腳本語言...
摘要:的大數據策略目前,適用的大數據生態系統連接包括和支持和的多維分析數據庫可實時連接到數據源,或將其調入內存。面向業務用戶的大數據自助式可視化。應對的是一些需要實施展現結果,比如銀行交易風險的流水分析,直接對接,,等大數據平臺。 市面上的BI工具形形色色,功能性能包裝得十分亮麗,但實際應用中我們往往更關注的是樸實的技術特性和解決方案。對于大數據,未來的應用趨勢不可抵擋,很多企業也正存在大數...
showImg(https://segmentfault.com/img/bVbw3tK?w=1240&h=827); 前端工程師這個崗位,真的是反人性的 我們來思考一個問題: 一個6年左右經驗的前端工程師: 前面兩年在用jQuery 期間一直在用React-native(一步一步踩坑過來的那種) 最近兩年還在寫微信小程序 下面一個2年經驗的前端工程師: 并不會跨平臺技術,他的兩年工作都是Reac...
閱讀 998·2023-04-26 02:21
閱讀 2817·2021-09-24 09:47
閱讀 1607·2019-08-30 15:55
閱讀 2163·2019-08-30 14:01
閱讀 2320·2019-08-29 14:01
閱讀 2048·2019-08-29 12:46
閱讀 814·2019-08-26 13:27
閱讀 1933·2019-08-26 12:23