源代码在这里。
支付宝登录的安全控件默认是勾选的,如果想要取消默认勾选,可以使用greasemonkey模拟点击安全控件。但是支付宝首页的登录页面实际上是一个异步加载的iframe,稍微有点麻烦。带注释的源代码如下:
// 绑定事件 window.onload = function() { var counter = 0; var waitForOption = setInterval(function(){ // 如果取消勾选成功或者连续5次失败,不再尝试 if(uncheckSafeLoginOption() || counter++ > 5) { clearInterval(waitForOption); } }, 1000); } function uncheckSafeLoginOption() { var id = 'safeSignCheck'; // 单独的登录页面直接查找元素 // 首页需要查找iframe后再查找元素 var safeLoginOption = document.getElementById(id) || getFrameDocument('loginIframe').getElementById(id); if(safeLoginOption) { if(safeLoginOption.checked) safeLoginOption.click(); return true; } return false; } function getFrameDocument(frameId) { var frame = document.getElementById(frameId); return frame.contentDocument || frame.contentWindow.document; }
在greasemonkey中针对支付宝首页和单独的登录页面新建一个user script,复制上面的代码,即可实现异步取消勾选。默认最多尝试5次,即5秒内IFRAME没加载完毕的话就不会再尝试。