讽刺笑话_完全不讽刺的2019年网络设计指南
讽刺笑话
I’ve written about how to design for the modern web before, way back in 2018. But the web moves forward quickly so those guidelines are already obsolete and outdated, as more modern conventions have become mainstream.
早在2018年,我就已经写过有关如何设计现代Web的文章。但是Web向前发展很快,因此,随着越来越多的现代公约成为主流,这些准则已经过时和过时了。
Let's break down and go through the most important design principles of designing for the modern web in 2019.
让我们分解并了解2019年设计现代网络的最重要设计原则。
让用户知道您拥有移动应用程序 (Let Users Know You Have A Mobile Application)
This one remains the most important principle and it’s not without reason. Well paid focus groups have shown that the very first thing a user wants to do when visiting your web site in their web browser is to install a mobile application.
这一原则仍然是最重要的原则,并非没有道理。 高薪的焦点小组已经表明,用户在其Web浏览器中访问您的网站时要做的第一件事就是安装移动应用程序。
The best way to achieve this is to show a modal dialog that prompts them to install it.
实现此目的的最佳方法是显示一个模式对话框,提示他们安装它。
As an optional step, you may add a button or hyperlink to close said dialog. But it's important to use some cryptic text, preferably worded to shame the user to comply.
作为可选步骤,您可以添加按钮或超链接以关闭所述对话框。 但重要的是要使用一些含糊的文本,最好用措辞措辞以使用户屈服。
Tip: If you don’t have an actual mobile application, you can just get an intern to package your website in a webview with security disabled and ship that!
提示 :如果您没有实际的移动应用程序,则可以让一名实习生将您的网站打包到禁用了安全性的web视图中,然后进行发送!
实施不追踪政策 (Implement a Do Not Track Policy)
Many modern browsers these days support a HTTP header called DNT which stands for Do Not Track. This header is meant to signal that a user does not want to be tracked. Unfortunately this is enabled by default in some browsers like Brave (An open source ad-blocking browser made by the creator of JavaScript Brendan Eich).
如今,当今许多现代浏览器都支持称为DNT的HTTP标头,该标头表示不跟踪。 此标头旨在表示用户不想被跟踪。 不幸的是,默认情况下在某些浏览器(如Brave)(JavaScript Brendan Eich的创建者制造的开源广告拦截浏览器 )中启用了此功能。
However, don’t worry as all is not lost! We’ve found that most users will remove this header when prompted to do so so. In order to handle this, we recommend that you serve a guide on how to disable it when the header is present.
但是,请不要担心,因为一切都不会丢失! 我们发现,大多数用户会在提示时删除此标头。 为了解决此问题,我们建议您提供有关如何在出现标题时将其禁用的指南。
Tip: Don’t serve the prompt to disable DNT on the guide that shows the users how to disable it, as the conversion rate ends up being rather poor.
提示 :不要在向用户显示如何禁用DNT的指南上提供禁用DNT的提示, 因为转化率最终很差。
实施Cookie政策 (Implement a Cookie Policy)
Cookie consent is confusing. While it's not required in most cases, with reasonable cookie use it’s better to prompt the user for consent so we can track everything without fear of repercussions.
Cookie同意令人困惑。 尽管在大多数情况下并不需要,但使用合理的Cookie最好提示用户同意,这样我们就可以跟踪所有内容而不必担心受到影响。
Tip: Don’t serve pages without cookies enabled even when we don’t need them. It means we can track less personal information, thus we have less user information to sell.
提示 :即使我们不需要Cookie,也不要投放没有启用Cookie的页面。 这意味着我们可以追踪更少的个人信息,因此我们可以出售的用户信息也更少。
阻止广告拦截器 (Blocking Ad-Blockers)
Ad-blockers are everywhere and can really hurt your margins, so the obvious precaution to take is to block ad-blockers.
广告拦截器无处不在,并且确实会损害您的利润,因此采取的明显预防措施是封锁广告拦截器。
Chrome is moving to block ad-blockers, so if the user is using a browser like Brave we’ll be able to just claim the user’s browser isn’t modern enough.
Chrome浏览器正逐步阻止广告拦截器,因此,如果用户使用的是像《勇敢传说》这样的浏览器,我们将可以断言该用户的浏览器不够现代。
Tip: Don’t tell anyone about Brave, the open source Chromium based browser with built-in ad-blocking.
提示 :不要告诉任何人Brave,这是一款基于Chromium的开源浏览器,内置了广告拦截功能 。
阻止非美国国家/地区和设备 (Blocking Non U.S Countries and Devices)
Between Cupcake nations, GDPR, link taxes and the Huwaei ban which we haven’t been able to figure out at all, the best approach is just to block them all to avoid any and all liability.
在纸杯蛋糕国家之间,GDPR,链接税和我们根本无法弄清楚的Huwaei禁令之间,最好的方法是将它们全部封锁,以避免产生任何责任。
Tip: You can …
提示 :您可以…
最大化布局 (Maximizing Your Layout)
The days of 800 pixels wide layouts are gone. Modern displays tend to be widescreen so make sure to take advantage of the entire width in the layout.
800像素宽版式的日子已经一去不复返了。 现代显示器倾向于宽屏,因此请确保充分利用布局中的整个宽度。
Tip: Research has shown that modal dialogs that cannot be closed perform better.
提示 :研究表明,无法关闭的模式对话框的效果更好。
使用通知 (Use Notifications)
Modern browsers support notifications so enabling them is a must. But as a fallback, also automatically subscribe the user to to a newsletter, sms notifications and/or email notifications.
现代浏览器支持通知,因此必须启用通知。 但是,作为备用,还可以自动使用户订阅新闻通讯,短信通知和/或电子邮件通知。
Tip: Use these notifications to tell users when you have a new version of the mobile application available.
提示 :使用这些通知可以告诉用户何时有新版本的移动应用程序可用。
提示用户 (Prompt The User)
Sometimes users forget they can sign up. Be sure to prompt them regularly and feature a prominent sign up link or button.
有时,用户忘记了可以注册。 确保定期提示他们,并突出显示注册链接或按钮。
Tip: Also prompt the user when they’re about to leave the website or their mouse cursor leaves the website.
提示 :当用户即将离开网站或鼠标光标离开网站时,还会提示用户。
允许用户选择退出 (Allow The User To Opt-Out)
It’s very important that we are user friendly and aren’t intrusive. This means we have to let users opt out of our constant prompts and modal dialogs.
我们必须对用户友好并且切勿打扰,这一点非常重要。 这意味着我们必须让用户退出我们的不断提示和模式对话框。
The best practice here is to put the opt-out settings in a place where the user will easily spot it — typically this is inside one of the “account preferences” pages.
此处的最佳做法是将“退出”设置放在用户容易发现的位置-通常在“帐户首选项”页面之一内。
使用JavaScript (Use JavaScript)
It’s a known fact, all websites require JavaScript.
众所周知,所有网站都需要JavaScript。
While you might think, “Oh it’s only plain text and a couple of modals.” But in the future? By then, it’ll be many many more modals, and I’ll promise you right now.
您可能会想,“哦,这只是纯文本和几种模式。” 但是将来呢? 到那时,它将有更多的模式,而我现在会向您保证。
When that happens, you’ll regret not making your website an isomorphic application using the latest framework running on a serverless cloud.
发生这种情况时,您会后悔没有使用在无服务器云上运行的最新框架使网站成为同构应用程序。
Tip: Don’t render this page with JavaScript.
提示 :请勿使用JavaScript呈现此页面。
Not a web developer yet? Don’t worry about it - you're already qualified from reading this post.
还不是网页开发人员吗? 不用担心-阅读此职位已经具备了资格。
Already a web developer? buy the C programming language book here and get out while you still can!
已经是网站开发人员了? 在这里购买C编程语言书,趁您仍然可以出去 !
翻译自: https://www.freecodecamp.org/news/how-to-design-for-the-web-in-2019/
讽刺笑话
相关文章:

模拟城市2.0
题目背景 博弈正在机房颓一个叫做《模拟城市2.0》的游戏。 2048年,经过不懈努力,博弈终于被组织委以重任,成为D市市委书记!他勤学好问,励精图治,很快把D市建设成富强民主文明和谐的美好城市。为了进一步深化…

bzoj:1221;vijos 1552 软件开发
Description 某软件公司正在规划一项n天的软件开发计划,根据开发计划第i天需要ni个软件开发人员,为了提高软件开发人员的效率,公司给软件人员提供了很多的服务,其中一项服务就是要为每个开发人员每天提供一块消毒毛巾,…

u-charts 曲线图中间有部分没数据,导致点和点无法连成线的问题解决
解决曲线图或者折线图在两端中间没有数据时无法绘画成线的问题源码修改, 解决方案: 在数据之间填充假数据,并且创建一个和点的数据同级的 list 来验证是不是假数据,如果是假数据就不绘制点,是真数据才绘制点,达到点和点之间没数据但是能连线的效果 先看效果图: 数据格…

python构建json_如何使用Python构建JSON API
python构建jsonThe JSON API specification is a powerful way for enabling communication between client and server. It specifies the structure of the requests and responses sent between the two, using the JSON format.JSON API规范是启用客户端和服务器之间通信的…

样式集 - 自适应居中弹窗
效果图: 弹窗1代码 <!-- 答题正确弹窗 --><block v-if"answer_true_show"><view class"answer_true_bg"></view><view class"answer_true"><img class"true_bg_img" :src"qualifyi…

struts2中 ServletActionContext与ActionContext区别
1. ActionContext 在Struts2开发中,除了将请求参数自动设置到Action的字段中,我们往往也需要在Action里直接获取请求(Request)或会话(Session)的一些信息,甚至需要直接对JavaServlet Http的请求(HttpServletRequest),响应(HttpServletResponse)操作. 我们需要在Action中取得req…

[记录]calculate age based on date of birth
calculate age based on date of birth know one new webiste:eval.in run php code转载于:https://www.cnblogs.com/fsong/p/5190273.html

有抱负的Web开发人员应考虑的6件事
Becoming a web developer can be as challenging as working out every day.成为网络开发人员就像每天锻炼一样具有挑战性。 It’s important to know what it will take to succeed as a web developer.重要的是要知道要成为一名Web开发人员要取得成功。 Here are 6 things…

阿里云OSS上传图片实现流程
前置,在阿里云开通OSS对象储存。然后在下图文件管理配置文件储存目录和图中传输管理配置访问域名。 1.复制 uploadFileUtil 文件夹和 uploadFile.js 文件在 util 文件夹 2.在使用的页面 引入 uploadFile 效果图: 实现代码 <template><view c…

修改远程桌面连接3389端口号
修改注册表: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\Wds\Repwd\Tds\Tcp 键:PortNumber,以十进制显示:3389,修改成55555,保存刷新注册表。 HKEY_LOCAL_MACHINE\SYSTEM\Curre…

理解 : UDID、UUID、IDFA、IDFV
iOS获取设备唯一标识的各种方法?IDFA、IDFV、UDID分别是什么含义?iOS获取设备ID总结IDFA解释 关于UUID的理解 : 英文名称是:Universally Unique Identifier,翻译过来就是通用唯一标识符。 UUID是指在一台机器上生成的数字,它保证对…

推箱子2-向右推!_保持冷静,砍箱子-me脚
推箱子2-向右推!Hack The Box (HTB) is an online platform allowing you to test your penetration testing skills. It contains several challenges that are constantly updated. Some of them simulating real world scenarios and some of them leaning more towards a C…

H5面试题---介绍js的基本数据类型
js的基本数据类型 Undefined、Null、Boolean、Number、String 转载于:https://www.cnblogs.com/songchunmin/p/7789582.html

Node.js express 之mongoose 从异步回调函数返回值,类似于同步
http://my.oschina.net/antianlu/blog/187023转载于:https://www.cnblogs.com/cylblogs/p/5192314.html

小程序登录、用户信息相关接口调整说明
为优化用户的使用体验,平台将进行以下调整: 2021年2月23日起,若小程序已在微信开放平台进行绑定,则通过wx.login接口获取的登录凭证可直接换取unionID2021年4月13日后发布的小程序新版本,无法通过wx.getU…

小程序 reduce_使用Reduce制作的10个JavaScript实用程序功能
小程序 reduceThe multi-tool strikes again. 多功能工具再次触击。 In my last article I offered you a challenge to recreate well-known functions using reduce. This article will show you how some of them can be implemented, along with some extras! 在上一篇文章…

流媒体,hls
所谓流媒体是指采用流式传输的方式在Internet播放的媒体格式。流媒体又叫流式媒体,它是指商家用一个视频传送服务器把节目当成数据包发出,传送到网络上。用户通过解压设备对这些数据进行解压后,节目就会像发送前那样显示出来。流媒体…

uniapp实现页面左右滑动,上下滑动事件
实现代码: <view class"" touchstart"touchstart" touchend"touchend"> </view> data() {return {touchData: {}, //滑动事件数据} } methods: {touchstart(e) {this.touchData.clientX e.changedTouches[0].clientX;…

android逆向分析概述_Android存储概述
android逆向分析概述Storage is this thing we are all aware of, but always take for granted. Not long ago, every leap in storage capacity was incremental and appeared to be impossible. Nowadays, we don’t give a second thought when contemplating how much of …

小程序地图的使用笔记
这两天在看小程序的地图,写写笔记记录一下 小程序官方文档提供的方法 https://mp.weixin.qq.com/debug/wxadoc/dev/api/location.html 腾讯地图提供的jssdk http://lbs.qq.com/qqmap_wx_jssdk/qqmapwx.html 根据提示使用腾讯地图jssdk需要申请,在实例化的…

JS 实现可停顿的垂直滚动
1 var ScrollMiddle {2 Odiv:document.getElementById(comment), // 目标DOM 3 Oli: document.getElementById(comment).getElementsByTagName(li), 4 times:30, // 配置滚动时间 …

uniapp 上拉加载更多完整实现源码
直接上代码 <template><view class"searchList"><!-- 搜索框 --><Search></Search><img class"top_img" src"/static/image/dataDelivery.png" /><view class"menus p_r"><view class&…

todoist 无法登陆_通过构建Todoist克隆将您的React技能提升到一个新的水平
todoist 无法登陆In this intermediate React course from Karl Hadwen, you will learn how to create the popular Todoist application from scratch using React, Custom Hooks, Firebase & the React Testing Library. You will lean how to use SCSS to style the ap…

w3cscholl的在线代码编辑工具
https://www.w3cschool.cn/tryrun/runcode?langc转载于:https://www.cnblogs.com/jhj117/p/7804133.html

点击事件加锁封装
看代码 // 提交答案 btnReply() {if (!this.$clickLock) returnthis.changeClickLock() } 封装代码 // 点击事件加锁 使用方式,在点击时加入以下代码// if (!this.$clickLock) return// this.changeClickLock()that.changeClickLock () > {that.$clickLock f…

WinCE 7 Mouse HOOK
WinCE 5.0&6.0 的鼠标 HOOK,偶在本博客中已经写过文章。WinCE7.0 的下的鼠标 HOOK 实现,完全和 WinCE 6 是一样的。 效果:在 WinCE 系统界面可以 HOOK 住鼠标的操作。 但是在 Silverlight 应用的界面,HOOK 功能失效。转载于:h…

devops和docker_通过免费的2小时Docker课程学习DevOps基础知识
devops和dockerDocker is a powerful DevOps tool for putting your apps into "containers." Docker是功能强大的DevOps工具,可将您的应用程序放入“容器”中。 You can run these same containers anywhere - on your laptop, on a server - even on a…

生成24位字符串ID__IdGenerator.java
此工具类用于生成24位字符串ID,唯一不重复。 直接通过 IdGenerator.get() 获取。 源码如下:(点击下载源码 - IdGenerator.java ) 1 import java.net.NetworkInterface;2 import java.nio.ByteBuffer;3 import java.nio.ByteOrder;4 import java.util.Enu…

IDEA构建一个mybatis项目
目录结构如下: 在pom.xml中配置需要的jar包 <dependencies><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.3.0</version></dependency><dependency><gro…

小程序在canvas上层做图片滚动
实现该功能踩过的坑 1.swiper的swiper-item中image图片无法在canvas的上层显示,会被canvas 覆盖 2.swiper的swiper-item 里面放 cover-image 会样式错乱 3.scroll-view里面放 cover-image 会样式错乱 解决方案:使用CSS样式实现,超出部分隐…