code refactor and add exts/aop.js
fix locationChange bug