javascript脚本学习小记

整理下接触到的一些关于javascript脚本的东西吧。

首先声明,我是一个菜鸟,这里只是记录一下我学习的过程。

发现这东西关键在于实践。而且,往往从一个需求的实现中,学到的东西最多,也最具有驱动力。

一开始接触到是在chrome贴吧,两年前,有各种脚本的贴子,开始接触,主要是通过油猴子(tampermonkey)脚本管理平台(chrome的一个插件,用来统一管理用户用在chrome上的脚本),从userscript.org上获取脚本。最一开始,是想写论坛的签到脚本,那的确是个巨大的挑战,当时了解了一些东西以后就放弃了,因为比较困难,对当时的自己来说。

后来断断续续了解一些零星的东西,也准备开始做一些东西。

记得第一个脚本是数据库实验的辅助脚本

http://userscripts.org:8080/scripts/show/185700

很简单,就是在做数据库课设的时候,那个平台每次都要点提交,尤其实验室那鼠标滑起来不舒服,于是,我就写了个脚本,内容非常简单,就是一个函数,当检测到敲击了Ctrl+回车的时候,就模拟点击提交按钮。

当时还兴冲冲地推荐给周围的人,其实这个真心水啊。

第二个脚本,就能看出一些差异了:

http://userscripts.org:8080/scripts/show/432663

课程中心的自动登陆脚本。

有段时间我的chrome出了点问题,不能自动保存课程中心的用户名和密码,强迫症发作了,写脚本。首先要考虑的是本地存储的问题,不过度娘还是很给力,js也很给力,知道了window.localStorage;第二个比较大的问题就是网页面动态添加元素,网页加载好了,一样可以再往网页上添加元素,这就是append的威力了,不过,找解决方法的过程中,发现了jquery,轻量级的js库,库里有很多东西。这里推荐给大家百度的lib

http://libs.baidu.com/jquery/1.9.0/jquery.min.js   中间的版本号可以改,好像最新式2.0.3(别问我怎么知道的。。。。)

用这个的好处就是,不用写一长串docuemnt.getElementById等等。而且它本身也有一些很好用的函数。

不过这个课程中心这个脚本其实很烂的,有很多bug,比如说,当你清空一次之后,会自动刷新,可是刷新了之后,它就是弹窗让你输入用户名密码,这个我过几天再想想解决方法,很可能就不做成弹窗的,做静态的。

第三个脚本是校园卡管理网站,

http://userscripts.org:8080/scripts/show/487387

用chrome登陆校园卡管理网站的时候,密码输不进去,用IE兼容模式可以,这个密码输入弹出的一个小键盘。这里我仔细把这次的分析过程写下吧。本来是直接给那个密码框赋值的,赋值进去以后,提交,不对。然后我替换了密码框成普通的文本框,输入还是不对。鬼使神差地截取了post,真的是鬼使神差,因为以前根本没用注意过chromeF12的调试工具里除了console和Elements意外的东西,从network里截图页面点击产生的post信息,发现,密码和我输进入的不一样,仔细分析他们的区别,尤其是在弹出的密码输入小键盘里的区别,多试几个密码,就发现了规律。

网页调用一个专门的getpasswdPhoto.action来生成密码小键盘,里面的数字位置是随机变换的,但是,如果生成的是这样的

3 2 1 

4 5 6 

9 8 7

如果你点击321,在密码框里获得的值是123,多试几个,发现,最后密码框里生成的值是始终按照这个图:

1 2 3 

4 5 6 

7 8 9

明白了吗。也就是说,无法通过普通的替换或者欺骗来实现。更何况还有验证码。可是我在showmap里看到了这样一句:document.getElementById(“layermap”).style.visibility=”visible”;//显示 

于是,尝试着在console里面粘贴进去,回车,ok,界面弹出来了,尽管还有一些错误,不过,能够顺利登陆了。

 

——-

其实,学到东西的,还是在这过程中,解决遇到的各种问题。只是时间过去的有点久了,很多东西都记不清楚了,都在浏览器的书签栏里。等整理好,一并传上来,给个连接。

文章版权归 FindHao 所有丨本站默认采用CC-BY-NC-SA 4.0协议进行授权|
转载必须包含本声明,并以超链接形式注明作者 FindHao 和本文原始地址:
https://www.findhao.net/easycoding/61

你可能喜欢:(相似内容推荐和广告都使用了谷歌的推荐系统,需要对本站取消广告屏蔽才能显示。感谢点击↓广告支持博主~)

Find

新浪微博(FindSpace博客)QQ群:不安分的Coder(375670127) 不安分的Coder

1 条回复

  1. synapse5说道:

    你应该干掉IE的!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*