我已经在SO上阅读了多篇文章,如果用户禁用了Javascript,理想情况下,您的页面应该"优雅地降级".我不确定一般来说应该做些什么类型的事情来实现这一目标.
我有一大堆HTML用于配置'计划'.根据选择框的值,将显示不同的字段.
<select name="schedule.frequency"
id="schedule.frequency"
onChange='updateScheduleFields()' >
<option value="Manual">Run Manually</option>
<option value="Monthly">Monthly</option>
<option value="Weekly">Weekly</option>
<option value="Daily">Daily</option>
<option value="Hourly">Hourly</option>
</select>
Run Code Online (Sandbox Code Playgroud)
更新选择后,我隐藏显示的字段,以便在不合适时不显示"星期几"或"月中的日期"等字段.我不确定如何在没有Javascript的情况下优雅地降低这种性能,因为如上所述,某些字段对于各种计划类型来说完全不合适.
我的问题是:一般来说,如果没有Javascript,我将如何制作禁用/隐藏不适当字段的内容或者某些前/后处理是否会正常降级?
我也对我能看到的可以处理这种退化的特定网站感兴趣吗?
我开始更多地关注让我的javascript和ajax优雅地降级.更推荐哪个:
我倾向于不同的页面集,因为我觉得它更容易,我可以为每种用户类型(js-enabled或js-disabled)提供最佳结果.你同意我的意见吗,如果没有,你为什么不同意?
我也担心黑客攻击.例如,黑客进入启用js的版本,然后禁用他的js.关于这一点的任何想法?我不太了解黑客攻击,但如果我使用不同的版本,这可能是一个安全问题吗?
提前致谢
我有一个严重依赖 JavaScript 并在整个过程中使用 jQuery 的网站。
我不会试图让网站为那些没有启用 JavaScript 的人工作。
但是,我想在页面顶部显示一个横幅,告诉他们该站点旨在启用 JavaScript 以及可能是现代浏览器等。
我正在考虑在所有包含带有横幅的 <noscript> 的页面上放置一个 PHP 包含。这是好的方法还是有更好的方法?
BrowserID目前使用Javascript垫片,而浏览器仍然(希望)开发支持它.对于不运行javascript的客户端,是否可以使用BrowserID?
我可以阅读600行JS shim,找出navigator.id.getVerifiedEmail要做的事情,然后在服务器上复制它,但我希望有一种更简单的方法.即便如此,我认为它不会真的奏效.
好吧,深入挖掘一下,这似乎是BrowserID意图做的外围设备,可能需要一些自定义的BrowserID验证器,但我希望有一种更简单的方法.
好的,我知道你的网站在禁用javascript时工作正常非常重要.
在我看来,开始考虑如何设计这样的网站的一种方法是在主页上检测javascript,如果它没有启用重定向到另一个版本的网站不javascript代码并使用纯HTML(如gmail)
我想到的另一种方法是,例如在网页上的对话框中考虑X(关闭按钮).如果在没有任何javascript干扰的情况下按下X会导致向服务器发送请求,而在服务器端我们在下次渲染页面时隐藏该对话框,并且我们还将javascript函数绑定到链接的onclick,如果是启用JavaScript后,它会立即隐藏对话框.
你觉得这怎么样?你会如何设计一个支持两者的网站?
html javascript jquery progressive-enhancement graceful-degradation
每当glob模式匹配失败时,它就会停止整个作业.例如,
$ mv *.jpg *.png folder1 && blahblah
mv: cannot stat `*.jpg': No such file or directory
Run Code Online (Sandbox Code Playgroud)
*.png未移至folder1且未运行blahblah.
并且下面的脚本仅适用于两者的情况.[Az]*和*成功.
#!/bin/bash
cd $1
du -sk .[A-z]* *| sort -rn | head
Run Code Online (Sandbox Code Playgroud)
如何使globbing优雅地失败,最多只显示警告,但从不停止工作?
我喜欢required在表单上使用该属性,但我不知道旧浏览器如何处理这个(对他们来说)未知的属性.
旧版浏览器是否会很好地忽略(从而允许优雅地降级)html5 required属性?
现在iOS 5已经推出并与iPhone 3GS兼容,我们是否仍然支持iOS 4?
测试已存在于github repo中,但是当我尝试将其包含在我的页面上时,我收到错误,因此我不确定如何将其包含在我的文档中.在我的html <head>标签中,我链接了modernizr脚本,然后链接到我添加的测试:
<script src="js/modernizr-2.5.3-min.js"></script>
<script src="js/css-pointerevents.js"></script>
Run Code Online (Sandbox Code Playgroud)
当我加载页面时,我得到一个javascript错误:Uncaught TypeError: Object #<Object> has no method 'addTest'它必须是对css-pointervents.js(Modernizr.addTest('pointerevents', function(){)的第一行的引用
我有一个简单的发货选项表单,当有人从下拉列表中选择一个新选项时,我使用javascript自动提交表单.
为了支持没有javascript的浏览器,还有一个提交表单的按钮.使用javascript隐藏此按钮.
但是,这意味着我的按钮在短时间内可见,并且可能会导致闪烁,因为其余内容将被重新格式化.
任何人都可以建议一种创建按钮的方法,使其开始隐藏,但只有在javascript不可用时才可见?例如,从display:none开始; 并神奇地改为显示:block; 当且仅当没有javascript.
html javascript css progressive-enhancement graceful-degradation