前端开发中那些不招人“待见”的功能

互联网上优秀的Web开发案例不胜枚举,但也有一些开发者费劲心血开发出的网站仅因为某些功能就遭到吐槽的也屡屡不鲜。这不,原文作者Scott Hanselman发表的这篇文章《Stop Doing Internet Wrong 》就例举了互联网上那些不招人“待见”的功能。当然,文中提及的这些问题都是可以解决的,因为从技术角度上来讲,它们并不难。我们一起来看下,“有则改之,无则加冕”。

文章译文如下:

1. 向移动主页重定向桌面深层链(Deep Link)

谷歌已经决定采取深层链的做法比如foo.com/something/deep用以检测移动设备,然后重定向用户host文件m.foo.com。事实上,GoogleBot声明这些“ 错误重定向”并通过搜索引擎搜索的结果来给网站排名。

简单地说,避免不相关的重定向其实很简单:比如智能手机用户从桌面页面重定向到智能手机优化页面。智能手机只显示有重要的内容,自动屏蔽了无关紧要/不相干的页面。例如,我想进http://www.mcmenamins.com/Pubs页面,但前提是想在手机上打开该页面,而将它重定向到/mobile即可。

 PS:纵深链(deeplink),又称深层链、深度链,即通过网站的分页地址设置链接,略过所在网站的广告主页,直接将用户导向某个分页。比如搜索引擎中搜索结果多是这种链接。埋置链和深层链接不仅会引发版权侵权问题,也会涉及不正当竞争。

2. 我不想要你的蹩脚应用

这就好比Quora,假设我现在通过浏览器浏览,除非要进入App Store,否则一直停留在Web页面。

3. 超大的插播广告

在Forbes.com上我看到这个巨大的插播广告。 

请保持优雅!

4. 标签输入形式

我讨厌看到一个复选框,并且只能点击复选框内容。

很简单,增加与标签相关的输入,那么用户就有获得更多的点击。

5. 打破超链接

难道我们没学习《 Cool URIs Don't Change?》吗?这篇文章写于1998年且真实存在。正如我们所知,Web创建于1990年,1993年才真正开放首个 Web页面链接。

 

我们需要通过.htaccess files、 web.config files维护重定向列表并尽量对其测试。虽然深度维护复杂的链接可能会很复杂,但你可以将companyname.com/about锁死,这是因为你从PHP切换至Rails的原因。作为用户,我习惯输入/about。请不要给我“更新书签”,我来这儿可不是为了做这个。

6. 点击国旗,代表你所选语言

我经常被要求从各个国家国旗列表中“选择语言”。用国旗来代表语言这是很槽糕的做法,我想,不只是我一人这么认为。 

在Accept-Language header有个整体的语言列表,可供你选择。

7. 你知道我的邮政编码,可为什么还要填写国家?

对于生活在美国的人,我们总是被要求输入邮政编码(邮递区号)、城市及国家,尽管有大量的API和数据库可以为你提供信息。 

如果你能从用户那获取可靠的信息(语言、位置、国家、爱好),前提是在没有侵犯对方隐私的前提下,请为他们节省些时间吧!

8. 通过宽度、高度属性调整超大图片尺寸

也许你需要花一点时间来告之老板,利用佳能EOS拍摄的六百万像素图片并不很适合企业网站背景图,尤其是只有4MB JPGs大小。

 

Ok,没关系,我们可以设置<img src="bigassfile.jpg" width="100" height="100">,这样图片就会缩小了。但不支持下载超大文件,在客户端上通过浏览器来调整尺寸大小;或者通过 PNGGauntlet或 PNGOut运行所有的PNGs,缺点是调整大小,经常会使图片变形。

9. 服务器页面的两种形式:WWW.和裸域

如果你见过example.com/something和www.example.com/something两种链接提供相同的内容,考虑到URL的规范化,你可以这样做,在META标签中使用rel="canonical",但只会隐藏问题。 

那为什么不挑选一个或者提供服务器301重定向到其他页面呢?你知道创建IIS7的规则吗?你甚至可以删除.aspx 扩展名。

如果你为for / and /default.html做同样的事情,如果可以的话,只选择一个并重定向到其他域名。

 

 

 

转载于:https://www.cnblogs.com/helenR/p/web_development.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/461713.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

串口通信——S5PV210串口通信接口详解

以下内容源于 朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 参考博客 s5pv210——串口通信 - biaohc - 博客园 一、S5PV210的串口控制器 S5PV210的串口控制器的相关内容&#xff0c;在用户手册的section8.1章节。 &#xff08;1&#xff09;串口控制器包含…

网上看到的一个百度实习生笔试题

编写函数&#xff0c;统计在某段英文文本完整句子的数目&#xff0c;文本只包括大小写英文字母&#xff0c;空格&#xff0c;点号&#xff08;.&#xff09;&#xff0c;逗号(,)&#xff0c;完整句子必须包含至少一个字母并以一个点号结束。 实现了一下&#xff0c;不知道可有漏…

javascript学习(11)——[设计模式]工厂模式

其实学过java的人基本都知道&#xff0c;工厂模式&#xff0c;我们是基本每天都在用&#xff0c;只不过工厂模式也分为几种情况&#xff1a;简单工厂&#xff0c;抽象工厂和智能工厂。 简单工厂其实&#xff0c;大家时时刻刻都在用&#xff0c;个人理解&#xff0c;当我们在一个…

串口通信——S5PV210串口通信的简单案例

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 参考博客&#xff1a;s5pv210——串口通信 - biaohc - 博客园 一、代码与测试 1、代码文件 完整的案例文件见链接。 &#xff08;1&#xff09;start.S文件 /* * 演示串口通信 */#define WTCON …

iOS学习系列 - 扩展机制category与associative

category与associative作为objective-c的扩展机制的两个特性&#xff0c;category即类型&#xff0c;可以通过它来扩展方法&#xff1b;associative&#xff0c;可以通过它来扩展属性&#xff1b;在iOS开发中&#xff0c;可能category比较常见&#xff0c;相对的associative&am…

Spring Boot JWT 快速入门

本章节讨论 jwt 在 spring boot 中的应用。意在快速入门 jwt。 java jdk1.8maven 3.2spring boot 2.0JSON Web Token&#xff08;JWT&#xff09; 他是一个用于 Web 身份验证的令牌。 1 JWT 概述 1.1 什么是JWT 直观的理解 JWT 就是一串字符串&#xff0c;如下&#xff08;来自…

Flex与Java通信之HttpService方式

2019独角兽企业重金招聘Python工程师标准>>> Flex用RemoteObject方式与Java通信是最常用的方式&#xff0c;这是一种最直观的方式。当然Flex也可以用HttpService与服务器类如servlet通信&#xff0c;这也是本次学习的重点。 这次学习是在上节的基础上进行的。本节学…

常用数据验证正则表达式释义(附:正则表达式常用符号)

正则表达式&#xff0c;要想完全掌握&#xff0c;几乎是不可能的。而且&#xff0c;正则表达式&#xff0c;也并不是万能的&#xff0c;很多情况&#xff0c;并不能做倒完全的匹配。如果我们仅仅是做网站&#xff0c;在数据验证、简单查询的时候使用&#xff0c;我们只需要掌握…

中断——S5PV210的中断体系简介

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 参考博客 s5pv210的中断体系 - biaohc - 博客园 我的RTOS 之一 --S5PV210 异常向量表基址和软中断测试_liujia2100的博客-CSDN博客 从0开始学ARM-异常及中断处理、异常向量表、swi_一口Linux的技术…

模板vs定制 门店小程序该如何选择?

越来越多的门店商户已经意识到小程序在新零售里扮演的重要角色。随着需求的爆发&#xff0c;市场上出现了不少服务商&#xff0c;提供门店小程序定制开发服务。所以&#xff0c;商户们也面临着小程序模板与定制的多重选择。下面就和大家分享一下模板vs定制门店小程序该如何选择…

Shell的 for 循环小例子

上例子 for i in f1 f2 f3; doecho $i; done 执行结果: f1 f2 f3 但是&#xff0c;请注意&#xff1a;如果是在makefile 中写&#xff0c;要写成这个样子&#xff1a; all:for i in f1 f2 f3; do\echo $$i; \done 如果 echo $$i; 后面没有反斜线&#xff0c;则会出现&#xff1…

现在有一个整数数组,已知一个数出现的次数超过了一半,请用O(n)的复杂度的算法找出这个数...

现在有一个整数数组&#xff0c;已知一个数出现的次数超过了一半&#xff0c;请用O(n)的复杂度的算法找出这个数。 方法1&#xff1a;Hash链表 方法2&#xff1a;使用两个变量A和B&#xff0c;其中A存储某个数组中的数&#xff0c;B用来计数。开始时将B初始化为0。 遍历数组&am…

中断——S5PV210的中断案例

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 参考博客 s5pv210——中断 - biaohc - 博客园 S5PV210的中断体系简介_天糊土的博客-CSDN博客 一、S5PV210的中断流程 第一部分是我们为中断响应而做的预备工作。 1、初始化中断控制器 比如先关闭所…

oracle 如何查看当前用户的表空间名称

如何查询当前用户的表空间名称&#xff1f;因为oracle建立索引&#xff0c;需要知道当前用户的表空间&#xff0c;查找了一下资料 --查询语法--select default_tablespace from dba_users where username登录用户如&#xff0c;我的登录用户是TMS21,那么查询语法是 /* 查看用户…

powerdesigner15(pd)+Oracle 11g 开发小问题

这几天使用powerdesigner15&#xff08;pd&#xff09;Oracle 11g 做数据库&#xff0c;中途遇到几个问题。 虽然很快都解决了但是还是记一下吧&#xff0c;提醒自己&#xff0c;也也遇到同样问题的人以帮助。 1、问题一 在设计的时候我的文本字段设计的是 nvarchar 长度是40…

PHP多种形式发送邮件

1. 使用 mail() 函数 没什么好讲的&#xff0c;就是使用系统自带的smtp系统来发送&#xff0c;一般是使用sendmail来发。这个按照各个系统不同而定。使用参考手册。 2. 使用管道的形式 昨天刚测试成功&#xff0c;使用本地的qmail来发送邮件。 1 /* 使用qmail发送邮件函数 */ …

按键——S5PV210的按键简介(轮询方式+中断方式)

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 参考博客 s5pv210——按键 - biaohc - 博客园 一、按键的简介 1、按键的物理特性 按钮没有被按下时&#xff0c;内部是断开的。按钮被按下时&#xff0c;内部保持接通状态&#xff1b;放手后由于弹…

Platform Invoke and Marshaling Data: [1/3]

Moved to http://blog.tangcs.com/2008/06/15/pinvoke-and-marshaling-data-1/转载于:https://www.cnblogs.com/WarrenTang/archive/2008/06/15/1222750.html

Windows开发的内功和招式

Windows开发的内功和招式 最近一个月笔者休了大约两周的假期&#xff0c;期间没有学习新的开发技术&#xff0c;也没有去游山玩水&#xff0c;而是对自己的知识结构和Windows开发本身进行了一个深入的思考&#xff0c;收获颇多&#xff0c;在这里希望和大家共同分享一下。 如果…

HAproxy + Keepalive实现LDAP代理服务

HAproxy Keepalive实现LDAP代理服务因为公司的各种高自研发的系统非常多&#xff0c;这些系统又全部是在使用LDAP做认证&#xff0c;目前我们有几台DC控制器来分担这些ldap请求&#xff0c;用户通过访问ldap.xxxx.com这个域名来连接ldap服务器&#xff0c;我们通过DNS轮询的方…