修复华软学院信息管理系统中的 JavaScript 错误,让它能在 Chrome/Chromium 中使用。
JavaScript
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
dists
src
tests
tools make build Jan 7, 2013
.gitignore
.travis.yml
AUTHORS
Makefile
README.md
package.json

README.md

SISEme Build Status

修复华软学院信息管理系统中的 JavaScript 错误,让它能在 Chrome/Chromium 中使用。

安装

登录 Chrome Web Store 点击 添加至CHROME 即可完成安装。

当前已修复模块

  • 登录(官方已修复)
  • 学生交费历史
  • 网上报修
  • 选课

如何制作补丁

SISEme 采用两种策略匹配需要修补的页面(这里假设您已经有一定的 JavaScript 基础)。

针对特定页面的修复

此策略用于对特定页面中的问题进行修复。

因不同权限的人在系统中可访问的模块不一样,所以难免有所遗漏。您可以按照下面的方法自行制作补丁:

  1. patches目录中新建一个已.js扩展名结尾的补丁。推荐为每一个页面建立一个主文件名相同的文件。
  2. siseme.js中增加补丁规则,一个 URL 对应一个补丁名(不用包括补丁的扩展名)。URL 可通过访问系统时检查调试台中本扩展的输出得到。
  3. 编写补丁的代码,可参考 studentRepairAppAction 这枚补丁的代码进行修改。扩展提供了一个 siseme.func 辅助方法,第一个参数是需要修补的函数名(需要是全局中的),第二个参数是一个回调函数,回传入该函数的源代码字符串,修补后返回即可。
  4. 访问对应的页面测试补丁,可观察控制台中该页面的 URL 末尾是否有[patched]字样已判断规则是否生效。

针对脚本修复

此策略适用于修复被大量页面调用的脚本中的错误,能够避免针对逐个页面修复同样问题的重复劳动。

patches 目录中的 _general.js 会被插入到每一个页面中:

// 如果页面调用了特定JS则调用回调
siseme.script('/SISEWeb/js/public.js', function() {
  // 修补函数
  siseme.func('allbuttondisabled', function(source) {
    return source.replace(/document\.forms\((.+?)\)/ig, 'document.forms[$1]')
  })
})

假如您制作了补丁,强烈建议发一个 Pull Request 给本项目,让更多人受惠 ^_^

作者

代码贡献者

Ordered by date of first contribution. Auto-generated on Wed, 02 Jan 2013 14:55:22 GMT.

协议

SISEme is available under the terms of MIT License.