黄笛的博客黄笛,中学物理老师,业余程序员,生活探险家 | 这里是 黄笛 的博客,与你一起发现更大的世界。2022-10-21T00:39:02+08:00https://huangdiv.com/黄笛https://huangdiv.com/i@huangdiv.com[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)Hugo教育之32条https://huangdiv.com/edu/32-suggestions-for-education/2022-10-21T00:38:16+08:002022-10-20T00:00:00+00:00黄笛https://huangdiv.com/i@huangdiv.com[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)文章来自互联网,出处已不详,有一说来自王金战老师。花几分钟时间,愿每个父母认真阅读,……<blockquote>
<p>文章来自互联网,出处已不详,有一说来自王金战老师。花几分钟时间,愿每个父母认真阅读,仔细品味,一定会受益匪浅。</p>
</blockquote>
<ol>
<li>
<p>影响孩子成绩的主要因素不是学校,而是家庭。</p>
</li>
<li>
<p>如果家庭教育出了问题,孩子在学校就可能会过的比较辛苦,孩子很可能会成为学校的“问题儿童”。</p>
</li>
<li>
<p>成绩好的孩子,妈妈通常是有计划而且动作利落的人。父亲越认真,越有条理,越有礼貌,孩子成绩就越好。</p>
</li>
<li>
<p>贫穷是重要的教育资源,但并非越贫穷越有利于孩子的成长。做父母的,需要为孩子提供基本的文化资料,不让孩子陷入人穷志短的自卑深渊。</p>
</li>
</ol>
<hr>
<ol start="5">
<li>
<p>富裕是另一种更高级的教育资源,西方人的经验是:“培育一个贵族需要三代人的努力。”“阶层是会遗传的。”但是,更高级的教育资源需要有更高级的教育技艺,如果没有更高级的教育技艺,富裕的家庭反而会给孩子的成长带来灾难。</p>
</li>
<li>
<p>不要做有知识没文化的家长。有些人有高学历,但不见得有文化。如果家长不懂得生活,不知道善待他人,甚至不懂得善待自己的孩子,无论他拥有多高的学术水平,他也是没有文化的人。</p>
</li>
<li>
<p>父母可以把孩子作为世界的中心,但是不要忘了父母也要过独立的生活。如果父母完全围绕孩子转而没有了自己的生活主题,这样的父母常常会以爱的名义干扰孩子的成长。有时侯,并不是孩子离不开父母,而是父母离不开孩子。</p>
</li>
<li>
<p>父母需要承担教育孩子的责任,不过,也不要因为教育孩子而完全取消了自己的休闲生活。“没有责任感伤害别人,太有责任感伤害自己。”(吴稼祥语)</p>
</li>
</ol>
<hr>
<ol start="9">
<li>
<p>如果孩子一哭闹父母就赶紧抱起孩子,那么,孩子就会利用父母的这个特点经常纠缠父母,提出更多的要求。所以,孩子哭闹,不要着急把孩子抱起来,父母最好让自己有事情做,让孩子看着自己动作麻利地做事。</p>
</li>
<li>
<p>夫妻关系影响孩子的性格。一个男人如果不尊重他的妻子,那么,他的儿子就学会了在学校不尊重他的女同学。一个女人如果不尊重她的丈夫,那么,她的女儿就学会了在学校瞧不起她的男同学。</p>
</li>
<li>
<p>教育就是培育人的精神长相。家长和教师的使命就是让孩子逐步对自己的精神长相负责任,去掉可能沾染的各种污秽,培育人身上的精神“种子”,让人可以呼吸高山空气,让人可以扬眉吐气。</p>
</li>
<li>
<p>有修养的父母是“伏尔泰主义者”,“我不同意你的观点,但我誓死捍卫你说话的权利”。他们从孩子出生的那天就开始跟孩子讲道理,耐心的征求孩子的意见。不要指望打骂孩子就能让孩子学会服从。杀鸡给猴看的结果是:猴子也学会了杀鸡。</p>
</li>
</ol>
<hr>
<ol start="13">
<li>
<p>让孩子成为既有激情又有理智的人。“没有激情,任何伟业都不可能善始,没有理智,任何壮举都不能善终。”</p>
</li>
<li>
<p>让你的孩子成为有教养的人,有教养从守时,排队,在公共场合不大声说话,不轻易发怒开始。</p>
</li>
<li>
<p>做人要厚道。如果你的孩子比较厚道,请不要嘲笑他的软弱。喜欢占小便宜的人,往往吃大亏,因为他被别人厌恶。愿意吃小亏的人,将来会占大便宜,因为他被人喜欢。</p>
</li>
<li>
<p>身体的活力能够带来精神的活力。身体好的人,性格阳光。身体不好的人,做事犹犹豫豫,躲躲闪闪,说话吞吞吐吐。</p>
</li>
</ol>
<hr>
<ol start="17">
<li>
<p>不要以为孩子1到6岁只是长身体的年龄。如果父母让孩子1到6岁在祖父母或外祖父母那里度过,等到孩子6岁时父母再把孩子接回来上小学,那么,这个孩子在小学要么成为默默无语的沉默者,要么成为无法无天的捣乱者。</p>
</li>
<li>
<p>经常和孩子一起做三件事:一是和孩子一起进餐,二是邀请孩子一起修理玩具,家具或衣物,偶尔邀请孩子帮忙解决工作中的困难。三是给孩子讲故事并邀请孩子自己讲故事。</p>
</li>
<li>
<p>如果没有特别困难,父母最好每天赶回家和孩子一起进餐。家庭的共同价值观,就在全家人围着一张桌子吃饭的过程中建立起来。</p>
</li>
<li>
<p>给孩子讲故事并邀请孩子自己讲故事,让孩子从听故事开始建立阅读和写作习惯,让孩子尽早学会独立阅读,尽早养成终身阅读的习惯。“只要还在读书的人,就不会彻底堕落,彻底堕落的人是不读书的。”从来不给孩子讲故事的父母,是不负责任的父母。</p>
</li>
</ol>
<hr>
<ol start="21">
<li>
<p>孩子的成长有三个关键期:第一个在3岁前后,第二个在9岁前后,第三个在13岁前后。如果错过了成长的关键期,后患无穷。</p>
</li>
<li>
<p>不是“三十而立”,而是“三岁而立”。孩子三岁前后,就必须建立自食其力的勇气和习惯。凡是自己能够做的,必须自己做,凡是自己应该做的,当尽力去做。</p>
</li>
<li>
<p>如果你的孩子在13岁的时候喜欢弗罗斯特的诗句:“两条路在树林里分岔,我选择走人少的那一条”,这很正常,不要担心,他以后也许会选择人走的多的那一条。</p>
</li>
<li>
<p>父母给孩子讲道理是必要的,但给13岁前后的孩子讲道理时,要注意自己讲话的姿态,姿态比道理更重要。否则,孩子会厌恶,反抗。孩子会说:你讲的话都是对的,但你讲话的那个样子很令人讨厌。</p>
</li>
</ol>
<hr>
<ol start="25">
<li>
<p>心底秘密是人成长,成熟的标志。如果孩子有心事,他不想告诉你,那么,不要逼迫孩子把他的秘密说出来。</p>
</li>
<li>
<p>在孩子3岁前后,他的身边最好有一个无为的放任型父母。在孩子9岁前后,他的身边最好有一个积极的权威型父母。在孩子13岁前后,他的身边最好有个消极的民主型父母。有效的教育是先严后松,无效的教育是先松后严。</p>
</li>
<li>
<p>必须留意你的孩子的学习成绩,但也不必太在意他的名次。倒是需要警惕那些学习成绩总是第一名的孩子。有些孩子学习成绩好,性格也好,有些孩子学习成绩很好,但性格却自私,缺乏同情心,没有生活情趣。</p>
</li>
<li>
<p>必须让你的孩子学会与他人交往并愉快的接受小伙伴。“如果父母对自己的邻居不满,对孩子的小伙伴也十分挑剔,或者不让自己的孩子和他们交朋友,让孩子觉得好像自己跟别人很不一样,那么,这些孩子长大以后就很难与任何人自然地相处。</p>
</li>
</ol>
<hr>
<ol start="29">
<li>
<p>孩子的成长需要同伴,让孩子有自己的朋友,但不要有太杂乱的伙伴,在孩子没有形成成熟的理性和判断里之前,警惕孩子沾染同伴的坏习惯。</p>
</li>
<li>
<p>让你的孩子尽早建立健康的审美观。有出息的男性一定会喜欢健康的女性。不要让孩子的审美观陷入低级,病态。不要以为小的,有病的,就是好的。不要以为强大的,就都是坏的。不要以为小麻雀,小绵羊,小狗都是可爱的,也不要以为狮子,老虎,狼都是坏的。不要以为豺狼都是吃人的,豺狼只吃比他弱小的。</p>
</li>
<li>
<p>《麦田里的守望者》为世界贡献了一个词语:守望。教育不是管,也不是不管。在管与不管之间,有一个词语叫“守望”。</p>
</li>
<li>
<p>告诉你的孩子:认真听讲的孩子偶尔成绩好,认真自学的孩子永远成绩好。</p>
</li>
</ol>
<blockquote>
<p>孩子们个个了不起,关心孩子的兴趣和特长,善于去发现,就一定能帮助他们很好的成长。</p>
</blockquote>给家长的寒假建议https://huangdiv.com/edu/advise-for-parents-for-the-comming-winter-vacation/2022-10-21T00:38:16+08:002020-01-09T17:41:39+08:00黄笛https://huangdiv.com/i@huangdiv.com[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)寒假里,家长如何自己的孩子相处?也许暑假里你有工作而不能陪孩子,但寒假意味着过年,意……<p>寒假里,家长如何自己的孩子相处?也许暑假里你有工作而不能陪孩子,但寒假意味着过年,意味着轻松,欢乐和团圆,如何让孩子寒假里玩好的同时还能不荒废学业,如何帮孩子处理好寒假作业,孩子不听话?是不是跟孩子聊的方式不对?看黄老师给你支招:</p>
<ol>
<li>
<p>首先,认真与孩子一起做一个寒假规划。最好依托孩子学校发的寒假指导来规划,可以详细到寒假里,每天上午下午晚上做什么,也可以只是一个寒假要做事情的列表,但是每件事情一定要有起止时间。计划除了包括完成寒假作业的内容,也要有休闲和娱乐的内容,比如一家人出去旅游,一起看个孩子喜欢的电影,或者玩两个小时电脑游戏等。</p>
</li>
<li>
<p>其次,抽出时间与孩子做一次心灵对话。现在的孩子生长在移动信息时代,从网络上接触的信息太多太杂,他们的心理状态还不成熟,容易受到不良信息的影响,家长和老师的正面影响正在受到冲击。利用寒假的契机,比如选择一个下午的时间,关掉手机平板电视电脑等电子设备,来和孩子聊聊。可以从翻看家庭相册开始,回忆家人相处的美好时光,让孩子的心和家长近一点,慢慢过渡到目前孩子的状态,家长要直面问题,从心从爱出发,让孩子认识到父母的爱和期望。</p>
</li>
<li>
<p>最后,父母是孩子的第一任老师,也是孩子行为的镜子和榜样。如果孩子没有达到你的期望,家长也许应该反思,是不是期望定的高了?是不是真的从爱孩子的角度出发考虑问题?自己对孩子有哪些行为做的不对?是不是没有做好榜样和表率?是不是跟孩子缺乏沟通?有什么办法来弥补?从黄老师的经验来看,孩子们的可塑性很大,普遍是心地单纯和易受影响的,家长朋友们要给正面的影响,需要在孩子面前表现出更多的自律。</p>
</li>
</ol>你何时睡觉https://huangdiv.com/life/when-to-sleep/2019-12-23T03:05:07+08:002019-12-22T17:16:10+00:00黄笛https://huangdiv.com/i@huangdiv.com[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)“你何时睡觉?” 晚上10点半下了晚自习,走在回家属区的路上,同事这样问我。 “不好说,……<p>“你何时睡觉?”</p>
<p>晚上10点半下了晚自习,走在回家属区的路上,同事这样问我。</p>
<p>“不好说,你知道的,有小孩,他睡了我才能睡。”</p>
<p>“一般都是几点呢?”</p>
<p>“一两点吧!”</p>
<hr>
<p>其实不是这样的,比如现在,旁边的小儿已睡熟,我却并不想睡。有几篇文章等着我看,还想在博客写点东西。</p>
<p>白天要忙工作,要陪家人。自己的时间总感觉不够用,到了晚上,终于哄睡了小孩,可以安静的做点自己想做的事情了,精神抖擞,哪..舍得..那么快就睡下。</p>
<p>有多少个这样的夜晚了,在真正属于自己的世界里,莫名的兴奋支撑着,困意全无。</p>
<p>最后终于睡下,不是困意占了上风,而是理性的呼喊说服了我。</p>三十而立https://huangdiv.com/life/stand-firm-at-thirty/2019-12-23T03:05:07+08:002019-10-23T00:00:00+00:00黄笛https://huangdiv.com/i@huangdiv.com[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)<p>八月,为拿到评职称所需的继续教育证书,我开始坐电脑前面刷继续教育课程视频。为避免挂机刷课,网页对课程视频播放器设置了不少限制,例如不能自动连续播放,隔三差五还会弹出来选择题,如果不选或者选错答案,视频就一直暂停,卡在弹题的进度处,而暂停时间长了,账号还会自动退出。</p>
<p>看几十个小时的专家讲座视频,还要肉身守在电脑前面目不转睛,简直不能更难受了😤。这种非人性化(灭绝人性)的手段,肯定早就被人鄙视(破解)了。于是去搜油猴脚本,竟没找到好用的。这不科学啊,干脆自己动手,F12分析播放页面源码,Google到了这个页面Flash播放器的JS控制接口说明,写了一个<a href="https://huangdiv.com/tech/ghlearning-assist/">用户脚本</a>,成功解决了问题。</p>
<p>后来想到跟我一样在刷课程视频的苦逼小伙伴们,决定把脚本分享出去。接下来注册greasyfork账号,手动发布了0.1版。就在脚本的功能不断增加完善的过程中,bug也如影随形的出现了,回滚代码时立即想到何不用Git进行版本控制呢?</p>……<p>八月,为拿到评职称所需的继续教育证书,我开始坐电脑前面刷继续教育课程视频。为避免挂机刷课,网页对课程视频播放器设置了不少限制,例如不能自动连续播放,隔三差五还会弹出来选择题,如果不选或者选错答案,视频就一直暂停,卡在弹题的进度处,而暂停时间长了,账号还会自动退出。</p>
<p>看几十个小时的专家讲座视频,还要肉身守在电脑前面目不转睛,简直不能更难受了😤。这种非人性化(灭绝人性)的手段,肯定早就被人鄙视(破解)了。于是去搜油猴脚本,竟没找到好用的。这不科学啊,干脆自己动手,F12分析播放页面源码,Google到了这个页面Flash播放器的JS控制接口说明,写了一个<a href="https://huangdiv.com/tech/ghlearning-assist/">用户脚本</a>,成功解决了问题。</p>
<p>后来想到跟我一样在刷课程视频的苦逼小伙伴们,决定把脚本分享出去。接下来注册greasyfork账号,手动发布了0.1版。就在脚本的功能不断增加完善的过程中,bug也如影随形的出现了,回滚代码时立即想到何不用Git进行版本控制呢?</p>
<p>其实我早就了解Git的好处,只是没机会用,毕竟我是半路出家的业余程序员,自学了两三个编程语言,还没真正写过代码呢。先去全球最大的程序猿交友网站——GitHub,注册账号,建立仓库,终于发布了<a href="https://greasyfork.org/zh-CN/scripts/389705-%E6%B2%B3%E5%8D%97%E4%B8%93%E6%8A%80%E5%9C%A8%E7%BA%BF%E8%BE%85%E5%8A%A9" title="河南专技在线">河南专技在线辅助</a>脚本。</p>
<blockquote>
<p>吐槽一下,所谓<strong>专业技术人员继续教育</strong>,政策设计的出发点挺好,只是课程视频太垃圾。其实终身学习这个理念,我是高度支持的。但因为课程设置不合理,一次学习提高的机会最终流于形式。实话说,还不如去<a href="https://www.icourse163.org/" title="中国大学MOOC">中国大学MOOC</a>等慕课网站在线学习,课程质量高而且免费,认真完成课程也能获得课程证书。这种证书可不是看视频就能拿到,必须认真看视频,看文档,参与在线讨论提交作业甚至在线考试。证书获得的难度决定了它的含金量。如果管理者能与时俱进,我也就不会去写这个辅助脚本了。</p>
</blockquote>
<p>就是在这个脚本不断迭代更新的过程中,我开始学习Git版本控制。Google各种Linux和Git的教程,命令太多记不住,经常在形形色色的个人独立博客游荡。突然有一天,嘿,这不是我需要的吗。</p>
<p>随后开始在阿里云注册了域名,然后筛选建站框架,从Github Pages了解了Jekyll,然后从jekyll-TeXt-theme折腾到Hexo以及Hugo。后来基于以下原因,最终选择了Hugo:</p>
<blockquote>
<p>Jekyll依赖Ruby,Huxo依赖Nodejs。我用这两个静态博客工具,在Windows 10和Android Termux上生成博客文件,经常要解决各种错误和困难(其实是技术水平差又偷懒)。特别是在我的手机上,各种环境和依赖搞得我头大。直到遇见了宇宙最快,移植性最好的静态网站生成器——Hugo,我一见倾心。</p>
</blockquote>
<hr>
<p>我在2013年大学毕业,这是工作的第七年了。这几年,我从没认真总结回顾过自己,留下的文字记录很少,想想真是有点遗憾。现在准备认真写博客,其实写博客主要是给自己看的,记录自己的点滴进步,刚开始有点困难,最主要的是,一定要坚持下去。</p>
<h1 id="建立小家庭">建立小家庭</h1>
<p>2016年,结婚。</p>
<p>2017年,女儿Vivian出生。</p>
<p>2019年,儿子Heng出生。</p>
<p>为人父母,照顾孩子,刚开始一定是个体力活。慢慢的,发现没那么简单,要学的太多。虽然这几年,自己的心路坎坷,但是活泼可爱的一双儿女,这本身就是一种莫大的慰藉。</p>
<p>我很珍惜现在的时光。慢点,慢点,细细品味吧。别太快。</p>
<h1 id="做人民教师">做人民教师</h1>
<blockquote>
<p>一个人的生命难道不是像一代人的命运一样珍贵吗?要知道,每一个人都是一个与他同生共死的完整世界,每一座墓碑下都有一部这个世界的历史。 —— 海涅科恩</p>
</blockquote>
<p>2019年6月,我第一次完整带了一轮的学生高中毕业,进入大学。他们中的有一些,向我分享进入大学学习的喜悦,诉说有关他们的大学校园,老师,课程,课外活动等新鲜事。</p>
<p>我由衷地为他们感到喜悦。</p>
<p>我说不上来那种感觉,似乎通过他们,我看到了前途无量,我看到了无限可能。而我自己也精神飞升,也前途无量,也无限可能。我似乎又年轻了一次,呵,那感觉可真好。</p>
<p>而另外有些孩子,他们曾经遇到困难,我曾辅导过,开导过的,如今人生却走向了一片黑暗中。想到这里,我又有些黯然心伤。</p>
<p>一个人民老师,要怎样做,才能无愧于心。假如我能看到未来他们每一个人的人生航迹,我现在又能多做点什么呢?</p>
<p>也许,也许没有那么多假如。做好眼前的工作,捧着一颗心来,那就够了。</p>
<hr>
<p>三十而立,今天是我三十岁的第一天。</p>
<p>孔子所说的“三十而立”中的“立”不是指成家立业,而是在对社会和自己都有比较明确的认识和理解的基础上的一种自觉的或者是有相对觉解的意识,一种自我人格独立的意识。南怀瑾的解说是这样的:</p>
<blockquote>
<p>孔子的身世很可怜,父亲去世的时候,他还有一个半残废的哥哥和一个姐姐,对家庭,他要挑起这担子来,他的责任很重。他说十五岁的时候,立志作学问,经过十五年,根据他丰富的经验,以及人生的磨炼,到了三十岁而“立”。立就是不动,作人做事处世的道理不变了,确定了,这个人生非走这个路子不可。但是这时候还有怀疑,还有摇摆的现象,“四十而不惑”,到了四十岁,才不怀疑,但这是对形而下的学问人生而言。</p>
</blockquote>
<p>我的理解是,三十岁了,思想心态和做人做事要逐渐成熟圆润,但是另一方面,也要时刻保持生活的激情和童心。在这两者之间游刃有余,那是一种智慧吧。</p>
<blockquote>
<p>谁的新感受、新活动、新质变越多,谁生活得越丰富,尽管其他人可能比自己活得更加长久。 —— 留里科夫</p>
</blockquote>河南专技在线辅助https://huangdiv.com/tech/ghlearning-assist/2020-01-15T08:43:27+08:002019-08-27T00:00:00+00:00黄笛https://huangdiv.com/i@huangdiv.com[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)专业技术人员继续教育 | 公需科目 | 专业科目 | 自动播放下一个 | 自动答题<p>最近需要学习继续教育课程,发现课程视频不能自动播放,也没有找到好用的辅助插件。分析了一下播放页面,自写了一个脚本,能够实现以下功能:</p>
<ol>
<li>进入播放页面后自动静音播放;</li>
<li>视频播放完毕自动播放下一个;</li>
<li>自动答题(去掉答题弹窗)。</li>
</ol>
<h2 id="使用方法">使用方法</h2>
<ol>
<li>本辅助是用户脚本,必须在脚本管理器里使用。使用电脑上的Chrome浏览器,进入chrome网上应用店安装<a href="https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo">油猴Tampermonkey</a>脚本管理器。没有chrome浏览器的话,需要先安装,可能需要爬梯子。不会安装或者英文看不懂,也可以考虑安装360极速浏览器等国内chromium内核浏览器,在应用扩展里搜索Tampermonkey或者ViolentMonkey安装,如360极速浏览器扩展商店就提供<a href="https://ext.chrome.360.cn/webstore/detail/jinjaccalgkegednnccohejagnlnfdag">暴力猴插件ViolentMonkey</a>插件。了解什么是用户脚本,看这里<a href="https://greasyfork.org/">Greasy Fork</a>。</li>
</ol>
<ol start="2">
<li>
<p>第一步完成后,进入脚本安装页面<a href="https://greasyfork.org/zh-CN/scripts/389705-%E6%B2%B3%E5%8D%97%E4%B8%93%E6%8A%80%E5%9C%A8%E7%BA%BF%E8%BE%85%E5%8A%A9">河南专技在线辅助</a>,点击安装此脚本,等待在线脚本安装成功。</p>
</li>
<li>
<p>访问继续教育课程学习页面,河南专技在线网站,登录账号,选择课程,进入播放器页面。此时<strong>脚本自动运行,弹出确认框。</strong> 点击确定,OK,你可以忙其他事情了,浏览器会自动把该课程列表里的视频学完。过程中会自动处理弹出的选择题,视频进度不会因此卡住。注意电脑电源管理的设置,关闭电脑自动睡眠。</p>
</li>
</ol>
<h2 id="注意事项">注意事项</h2>
<p><strong>脚本不具备自动登录,选课等功能</strong>。因此需要用户登录河南专技在线的账号,选择课程,进入播放页面,然后脚本才能开始正常运行。</p>
<p>第一次成功加载视频播放器时会弹出脚本运行提示,<strong>点击确定,视频才开始自动静音播放</strong>,之后没有其他任何提示。</p>
<p>播放页面按F12进入Console界面可看到脚本运行的提示。</p>
<h2 id="使用反馈">使用反馈</h2>
<p>使用中有任何问题,可在本页面下方留言,也可<a href="http://sighttp.qq.com/authd?IDKEY=ad91638b0086149a2ede665c0e4ddb10c82e81d3374ca9d3">点击这里</a>调用QQ或TIM临时会话。</p>
<h2 id="其他相关">其他相关</h2>
<p>前一段时间在手机上刷公需科目视频,也写了一个河南专技在线安卓APP的自动刷课辅助脚本,<strong>手机上也能自动刷课</strong>。<del>自己用着挺方便,如有需要也可点击上方QQ链接联系我免费获取。</del> 系统升级,正在测试中,完成后免费放出。</p>
<h2 id="脚本代码">脚本代码</h2>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-js" data-lang="js"><span class="line"><span class="cl"><span class="c1">// ==UserScript==
</span></span></span><span class="line"><span class="cl"><span class="c1">// @name 河南专技在线辅助
</span></span></span><span class="line"><span class="cl"><span class="c1">// @namespace https://github.com/huangdiv/user-scripts/
</span></span></span><span class="line"><span class="cl"><span class="c1">// @version 1.4
</span></span></span><span class="line"><span class="cl"><span class="c1">// @description 继续教育公需科目专业科目辅助|自动静音播放|自动播放下一个视频|自动答题(去掉答题弹窗)
</span></span></span><span class="line"><span class="cl"><span class="c1">// @author huangdiv(huangdiv@gmail.com)
</span></span></span><span class="line"><span class="cl"><span class="c1">// @match *://*.ghlearning.com/*
</span></span></span><span class="line"><span class="cl"><span class="c1">// @require http://code.jquery.com/jquery-1.12.4.min.js
</span></span></span><span class="line"><span class="cl"><span class="c1">// @supportURL https://github.com/huangdiv/user-scripts/tree/master/hnzj
</span></span></span><span class="line"><span class="cl"><span class="c1">// @run-at document-end
</span></span></span><span class="line"><span class="cl"><span class="c1">// ==/UserScript==
</span></span></span><span class="line"><span class="cl"><span class="c1"></span>
</span></span><span class="line"><span class="cl"><span class="p">(</span><span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="c1">//'use strict';
</span></span></span><span class="line"><span class="cl"><span class="c1"></span> <span class="c1">// Your code here...
</span></span></span><span class="line"><span class="cl"><span class="c1"></span>
</span></span><span class="line"><span class="cl"> <span class="c1">// Refer to http://dev.polyv.net/2013/videoproduct/v-playerapi/v-playerapi-event/jsbf0001/
</span></span></span><span class="line"><span class="cl"><span class="c1"></span>
</span></span><span class="line"><span class="cl"> <span class="kd">function</span> <span class="nx">resume</span><span class="p">()</span>
</span></span><span class="line"><span class="cl"> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="nx">player</span><span class="p">.</span><span class="nx">j2s_resumeVideo</span><span class="p">();</span>
</span></span><span class="line"><span class="cl"> <span class="p">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="kd">function</span> <span class="nx">pause</span><span class="p">()</span>
</span></span><span class="line"><span class="cl"> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="nx">player</span><span class="p">.</span><span class="nx">j2s_pauseVideo</span><span class="p">();</span>
</span></span><span class="line"><span class="cl"> <span class="p">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="kd">function</span> <span class="nx">seek</span><span class="p">(</span><span class="nx">sec</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="nx">player</span><span class="p">.</span><span class="nx">j2s_seekVideo</span><span class="p">(</span><span class="nx">sec</span><span class="p">);</span>
</span></span><span class="line"><span class="cl"> <span class="p">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="kd">function</span> <span class="nx">stop</span><span class="p">()</span>
</span></span><span class="line"><span class="cl"> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="nx">player</span><span class="p">.</span><span class="nx">j2s_stopVideo</span><span class="p">();</span>
</span></span><span class="line"><span class="cl"> <span class="p">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="kd">function</span> <span class="nx">vol</span><span class="p">(</span><span class="nx">v</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="nx">player</span><span class="p">.</span><span class="nx">j2s_setVolume</span><span class="p">(</span><span class="nx">v</span><span class="p">);</span>
</span></span><span class="line"><span class="cl"> <span class="p">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="kd">function</span> <span class="nx">nextVideo</span><span class="p">(</span><span class="nx">vid</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="nx">player</span><span class="p">.</span><span class="nx">changeVid</span><span class="p">(</span><span class="nx">vid</span><span class="p">);</span>
</span></span><span class="line"><span class="cl"> <span class="p">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="kd">function</span> <span class="nx">hide</span><span class="p">()</span>
</span></span><span class="line"><span class="cl"> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="nx">player</span><span class="p">.</span><span class="nx">j2s_hideInterAction</span><span class="p">();</span>
</span></span><span class="line"><span class="cl"> <span class="p">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="kd">function</span> <span class="nx">toNext</span><span class="p">(){</span>
</span></span><span class="line"><span class="cl"> <span class="kd">var</span> <span class="nx">text</span><span class="o">=</span><span class="nx">$</span><span class="p">(</span><span class="s1">'li[id][class=active]'</span><span class="p">)[</span><span class="mi">0</span><span class="p">].</span><span class="nx">innerText</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"> <span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">text</span><span class="p">);</span>
</span></span><span class="line"><span class="cl"> <span class="nx">setTimeout</span><span class="p">(</span><span class="kd">function</span><span class="p">(){</span>
</span></span><span class="line"><span class="cl"> <span class="k">if</span> <span class="p">(</span><span class="nx">text</span><span class="o">!=</span><span class="nx">$</span><span class="p">(</span><span class="s1">'li[id][class=active]'</span><span class="p">)[</span><span class="mi">0</span><span class="p">].</span><span class="nx">innerText</span><span class="p">){</span>
</span></span><span class="line"><span class="cl"> <span class="nx">text</span><span class="o">=</span><span class="nx">$</span><span class="p">(</span><span class="s1">'li[id][class=active]'</span><span class="p">)[</span><span class="mi">0</span><span class="p">].</span><span class="nx">innerText</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"> <span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">text</span><span class="p">);</span>
</span></span><span class="line"><span class="cl"> <span class="p">}</span>
</span></span><span class="line"><span class="cl"> <span class="k">if</span><span class="p">(</span><span class="nx">text</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="sr">/[0-9]+%/</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span><span class="o">==</span><span class="s2">"100%"</span><span class="p">){</span>
</span></span><span class="line"><span class="cl"> <span class="nx">seek</span><span class="p">(</span><span class="nx">player</span><span class="p">.</span><span class="nx">j2s_getDuration</span><span class="p">()</span><span class="o">-</span><span class="mi">1</span><span class="p">);</span>
</span></span><span class="line"><span class="cl"> <span class="nx">resume</span><span class="p">();</span>
</span></span><span class="line"><span class="cl"> <span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="s1">'视频播放结束,即将播放下一个视频'</span><span class="p">);</span>
</span></span><span class="line"><span class="cl"> <span class="p">}</span><span class="k">else</span><span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="nx">setTimeout</span><span class="p">(</span><span class="nx">arguments</span><span class="p">.</span><span class="nx">callee</span><span class="p">,</span> <span class="mi">5000</span><span class="p">);</span>
</span></span><span class="line"><span class="cl"> <span class="p">}},</span> <span class="mi">5000</span><span class="p">);</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="p">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="kd">function</span> <span class="nx">fixFuc</span> <span class="p">(){</span>
</span></span><span class="line"><span class="cl"> <span class="nb">window</span><span class="p">.</span><span class="nx">s2j_onVideoPause</span> <span class="o">=</span> <span class="kd">function</span> <span class="p">()</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="s1">'触发暂停(手动触发或弹题触发),已处理,继续播放'</span><span class="p">);</span>
</span></span><span class="line"><span class="cl"> <span class="nx">setTimeout</span><span class="p">(</span><span class="nx">hide</span><span class="p">,</span><span class="mi">2000</span><span class="p">);</span><span class="c1">//去掉答题弹窗
</span></span></span><span class="line"><span class="cl"><span class="c1"></span> <span class="nx">setTimeout</span><span class="p">(</span><span class="nx">resume</span><span class="p">,</span><span class="mi">3000</span><span class="p">);</span>
</span></span><span class="line"><span class="cl"> <span class="p">}</span>
</span></span><span class="line"><span class="cl"> <span class="p">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="kd">function</span> <span class="nx">start</span><span class="p">(){</span>
</span></span><span class="line"><span class="cl"> <span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="s1">'播放器初始化完成'</span><span class="p">);</span>
</span></span><span class="line"><span class="cl"> <span class="k">if</span> <span class="p">(</span><span class="nx">first</span><span class="o">==</span><span class="mi">1</span><span class="p">){</span>
</span></span><span class="line"><span class="cl"> <span class="nx">first</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"> <span class="nx">alert</span><span class="p">(</span><span class="s1">'-----河南专技在线辅助-----\n【自动静音播放|自动播放下一个视频|自动答题(去掉答题弹窗)】\n-----点击确定后开始运行------\n-----作者:huangdi-----'</span><span class="p">);</span>
</span></span><span class="line"><span class="cl"> <span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="s1">'辅助脚本开始运行'</span><span class="p">);</span>
</span></span><span class="line"><span class="cl"> <span class="p">}</span>
</span></span><span class="line"><span class="cl"> <span class="nx">player</span><span class="o">=</span><span class="nb">document</span><span class="p">.</span><span class="nx">getElementsByClassName</span><span class="p">(</span><span class="s2">"polyvFlashObject"</span><span class="p">)[</span><span class="mi">0</span><span class="p">];</span>
</span></span><span class="line"><span class="cl"> <span class="nx">setTimeout</span><span class="p">(</span><span class="nx">hide</span><span class="p">,</span><span class="mi">1000</span><span class="p">);</span>
</span></span><span class="line"><span class="cl"> <span class="nx">setTimeout</span><span class="p">(</span><span class="nx">resume</span><span class="p">,</span><span class="mi">2000</span><span class="p">);</span><span class="c1">//自动播放
</span></span></span><span class="line"><span class="cl"><span class="c1"></span> <span class="nx">setTimeout</span><span class="p">(</span><span class="kd">function</span> <span class="p">(){</span><span class="nx">vol</span><span class="p">(</span><span class="mi">0</span><span class="p">);},</span><span class="mi">3000</span><span class="p">);</span><span class="c1">//静音
</span></span></span><span class="line"><span class="cl"><span class="c1"></span> <span class="nx">setTimeout</span><span class="p">(</span><span class="nx">fixFuc</span><span class="p">,</span><span class="mi">4000</span><span class="p">);</span><span class="c1">//修改功能
</span></span></span><span class="line"><span class="cl"><span class="c1"></span> <span class="c1">//setTimeout(pause,5000);//暂停视频播放,进度继续增加。
</span></span></span><span class="line"><span class="cl"><span class="c1"></span> <span class="nx">setTimeout</span><span class="p">(</span><span class="nx">toNext</span><span class="p">,</span><span class="mi">6000</span><span class="p">);</span><span class="c1">//检测进度
</span></span></span><span class="line"><span class="cl"><span class="c1"></span> <span class="p">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="kd">var</span> <span class="nx">player</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"> <span class="nx">first</span><span class="o">=</span><span class="mi">1</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="nb">window</span><span class="p">.</span><span class="nx">s2j_onPlayerInitOver</span><span class="o">=</span><span class="nx">start</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="p">})();</span>
</span></span></code></pre></div>