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