我在使用jquery document.ready event的网站上测试客户端验证时发现了一些有趣的东西。
如果我加载了禁用js的登录页面,其noscript
标记将用户重定向到另一个页面,通知浏览器未启用js支持。
如果我在启用了js的情况下加载了登录页面,然后继续禁用它,则其document.ready事件上附带的代码仍在运行,并且在其登录名和密码字段中完美地验证了空输入。
由于我没有看到请求服务器执行此类验证的页面,我想知道是否正确假设js最初启用的事实足以使document.ready运行并永久附加代码,无论如何我之后如何切换js支持?或许我错过了什么?。
感谢大家给我的见解。
答案 0 :(得分:1)
即使在您的设置中禁用了JS,浏览器仍会在当前打开的页面上运行JS。在禁用JS时加载的任何新页面都将禁用其脚本。
就像浏览器仅在页面加载时检查该设置:
Load page -> is scipts on? -> yes -> run //changing it anywhere after
-> no -> do not run //does not affect it's status
答案 1 :(得分:1)
“禁用javascript”实际上会更接近现实,如果称为“从现在开始禁用js”。在禁用之前执行的所有操作都已执行。禁用后发生的所有事情(例如超时,间隔等)都不再执行。