Validation 是“事件处理程序代码”;持久的;禁用JS后?

Validation 是“事件处理程序代码”;持久的;禁用JS后?,validation,document-ready,javascript,Validation,Document Ready,Javascript,在使用jquery document.ready事件的网站上测试客户端验证时,我注意到了一些有趣的事情 如果我在加载登录页面时禁用了js,那么它的noscript标记会将用户重定向到另一个页面,告知浏览器上没有启用js支持 如果我加载了启用js的登录页面,然后继续禁用它,则其document.ready事件上附加的代码仍在运行,并且完全验证了其登录和密码字段中的空输入 由于我没有看到请求服务器执行这种验证的页面,我想知道,假设js最初被启用的事实对于文档来说已经足够了,这是否正确。准备好运行并永

在使用jquery document.ready事件的网站上测试客户端验证时,我注意到了一些有趣的事情

如果我在加载登录页面时禁用了js,那么它的
noscript
标记会将用户重定向到另一个页面,告知浏览器上没有启用js支持

如果我加载了启用js的登录页面,然后继续禁用它,则其document.ready事件上附加的代码仍在运行,并且完全验证了其登录和密码字段中的空输入

由于我没有看到请求服务器执行这种验证的页面,我想知道,假设js最初被启用的事实对于文档来说已经足够了,这是否正确。准备好运行并永久附加代码了吗,不管以后我如何切换js支持?或者我错过了什么

谢谢你们给我的启示。

即使在设置中禁用了JS,浏览器仍然在当前打开的页面上运行JS。禁用JS时加载的任何新页面都将禁用其脚本

这就像浏览器仅在页面加载时检查该设置一样:

Load page -> is scipts on? -> yes -> run        //changing it anywhere after
                           -> no  -> do not run //does not affect it's status

如果称为“从现在开始禁用js”,那么“禁用javascript”实际上更接近现实。禁用之前执行的所有操作都被执行了。禁用后可能发生的一切(如超时、间隔等)将不再执行

因此,既然document.ready事件是在页面加载时触发的,并且已完成/完成,那么附加到它的代码将运行,无论我是否在之后禁用js支持?(当然不需要重新加载页面)。这似乎是该网页保持原样的逻辑原因,如果您能确认我的评论,并将其标记为答案的话。谢谢嗨,Joseph,实际上我是这么想的,但是我试过测试一个表单,在链接的onclick事件中附加了一个警报,在我切换页面上的js支持后,它就不再显示了,没有重新加载页面。