问题标签 [progressive-enhancement]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jquery - 使用 JQuery 防止 Html.Action
快速提问,我有这个观点
控制器很简单
然后 GetProducts 视图只是在 foreach 循环中呈现每个产品
如果启用了 JS 并且使用 JQuery 异步调用 te 服务,我想防止这种情况发生。就像是
我怎样才能做到这一点?
javascript - 在 Django 中使用 Ajax 处理元请求
我试图研究,但找不到在 Django 中使用 Ajax 处理 META 请求的方法。每次刷新页面都会破坏用户体验。所以如果代码是这样的:
模板
视图.py
所以模板发送对象的id,并且在视图中它增加1。每次发生这种情况。现在的问题是,如果没有 Ajax,它会在每次发生时重新加载页面。我是一名后端开发人员,所以我几乎没有使用 jQuery 和 Ajax 的经验,所以我不知道如何解决这个问题。
任何帮助,将不胜感激。谢谢 :)
ajax - 如何使用 Modernizr 测试浏览器的 AJAX 支持?
作为 Progressive-Enhancement 的忠实粉丝,我使用 Modernizr 来测试浏览器功能。如何使用 Modernizr 来测试浏览器对 AJAX 的支持(特别是 jQuery 的 AJAX 函数)?
html -
我们应该在标签内使用空格吗?或标题?
我在<br>
标题中使用了一个标签(例如h1
),并且作为我的响应式设计的一部分,具有渐进增强功能(这会是一个例外吗?)——我想将它隐藏在更窄的视口上。
当然,CSS 规则是:
但是在 HTML 中处理这个问题的正确方法是什么?
如果这样说,那么当br
隐藏时,“heading”和“with”之间没有空格:
那么以下语义是否正确?
或者这个呢?
很挑剔,我知道,但我很想听听。
PS 在这种情况下,绝对必须使用 a br
,因为“示例标题”比“with a break right thurr”要短——使用流体容器会在不需要的地方强制中断。
此外,正如 David 所指出的,示例 #2 和 #3 都可以工作——但它们在语义上是否正确?虽然 HTML 标签周围的空格是语义性的并且被忽略(这就是我们使标记易于阅读的方式)......但是元素标签内的空格呢?他们应该在那里吗?
javascript - 如何使用 angularjs 对 HTML 列表进行渐进式增强?
假设我有一个可访问的站点,该站点将在禁用 JS 的情况下进行咨询。
我有一个新闻列表,我可以这样总结:
每次重新加载页面时,都会添加最新的新闻,如果超过 10 条新闻,旧的将被丢弃。
现在,如果我使用 Angulard JS,我必须将数据放入模型和 ng-repeat,并摆脱我的静态 HTML。该列表将动态填充,因此使用 JS 的人将看到几乎实时更新的列表。
我需要的是让两者一起工作。我需要静态列表,如果激活了 JS,我希望将当前元素插入模型中并由 angularjs 管理。
现在我目前的做法是:
- 当我的模型初始化时,将列表 DOM 分开,手动提取数据,并删除所有子列表
- 在列表中注入角度模板代码
- 让 Angular 发挥它的魔力
这很糟糕,因为你失去了 angular 的声明性优点,而且你有很多锅炉代码甚至不是通用的,所以你为页面中的每个小部件重写它。
css - div内的渐进增强
任何人都知道一种定位 div 的方法,该方法将根据 div 的大小隐藏/显示内容,类似于媒体标签的工作方式。
例子
使用媒体标签我可以像这样定位它:
任何方式我可以定位 div 而不是整个屏幕?
c# - .NET MVC - 如何简单地隐藏/显示元素?
我可能完全看错了,我通常只用 jQuery 来做这件事,但渐进增强的话题引发了这个问题。
此刻我有:
moveNext (Knockout.js) 将隐藏/显示此功能。
但是,使用 Progress Enhancement,这是不可能的。所以我想,将它作为一个 ActionLink 并通过它隐藏/显示该部分(我刚刚从 Web 窗体移动)。显然 ActionLink 必须有自己的 View/PartialView - 那么这甚至可以通过 MVC 实现吗?
从字面上看,我想要的只是隐藏/显示元素的代码隐藏。
python - 响应式网页设计,穿插移动检测以实现更好的控制
我刚刚完成了我的第一个网站的构建,并考虑了移动优先的响应式设计过程。该网站在移动设备上看起来和工作都很棒,但桌面体验却相当缺乏。在不影响移动体验的情况下,我没有什么好的方法可以改善桌面体验,即便如此,我还是无法使用纯客户端方法来做一些事情。
我不想管理两个单独的网站(移动、桌面)。我想要做的是让移动检测服务器端更好地控制我何时加载/显示更多数据等。
我想做类似的事情:
令人惊讶的是,我没有看到太多关于以这种方式做事的在线讨论。我读过的大多数文章要么推荐纯(移动优先)响应式设计,要么推荐单独的移动网站,尽管这似乎是一个不错的主意。这样做有缺点吗?
javascript - 使用 Django 和 Backbone 进行渐进式增强 - 如何将两者结合起来?
我有一个非常简单的 Django 应用程序,它允许用户提交表单并查看基于国家、持续时间和价格的过滤后的假期列表。
我想在前端使用 Backbone,这样启用了 JS 的用户不需要 GET 来查看结果,而是可以动态加载它们。
我想用渐进增强,让有JS的用户得到Backbone的体验,没有JS的用户仍然可以使用表单。我也想遵循DRY 原则。
我的问题是如何最好地做到这一点。是否有将两者结合使用且重复次数最少的示例?我特别想:
- 像这样路由一个 URL
/italy/1-week/from-500-to-1000/
- 我现在是否需要编写两组路由代码,一组在 Django 中urls.py
,一组在 Backbone 的路由器中,以获取国家/地区/持续时间/价格参数? - 根据参数过滤数据 - 我是否需要编写两种不同的方法,一种在 Backbone 中
views.py
,一种在 Backbone 中?(我假设我至少可以为这两个调用使用一个 API。) - 在模板中渲染- 我需要为 Django 编写一个列表模板,为 Backbone 编写另一个列表模板,还是两者都可以使用相同的模板?
到目前为止,我发现的将 Backbone 集成到 Django 中的最好(唯一)示例是 Josh Bohde 的Django Backbone repo,它没有逐步增强。
我还发现了这篇关于 Backbone 和 Rails 渐进式增强的博客文章,但是看到 Django 的类似内容会非常有用。
更新:刚刚在一个类似的主题上发现了这个 SO 问题——情况真的像答案听起来那样无望吗?
google-maps - 如何为移动设备提供静态谷歌地图,但为桌面提供动态?
有哪些方法可以在更宽的视口上隐藏Google 的静态地图,同时显示动态的Google JavaScript 地图?
构建移动优先网站是很常见的,通过 CSS 媒体查询来增强更大的视口。
在地图方面,静态地图可以说更适合移动用户体验(智能手机也是如此)。但是您可能会决定,对于更大的视口(计算机显示器甚至平板电脑),交互式/动态地图可能更适合您的用户——这取决于网站的目的。
使用哪些标准来选择将两者结合起来的最佳方法很重要?应该注意什么?
我还没有找到一个确凿的答案,但这是我迄今为止的研究:
一位作者在 2010 年建议 JavaScipt API 中内置了一个后备选项:
这里的基本前提是API将
map_canvas
容器的内容替换为地图显示。那么,为什么不向该容器添加一些后备内容呢?
修改他的代码,我可以在里面插入一个图像,div
这将成为支持 JS 的谷歌地图。在这种情况下,图像来自静态地图 V2:
然而,这并没有禁用智能手机上的 JavaScript 地图——只是为没有 JS 的设备提供了一个后备。
另一位作者(也是 2010 年)也建议使用单行 jQuery 来隐藏该图像——V3 的更新代码可能是:
但这也无助于在窄视口设备(智能手机)上禁用 Google 的 JS 地图。
这两个指南都是 2010 年的——可能使用的是谷歌地图的 V2?(我什至在 2009 年使用一些聪明的正则表达式遇到了另一位作者的指南,但他还没有更新到“新的做事方式 [V3]”。)