标签: client-side

哪些CSS选择器或规则可以显着影响现实世界中的前端布局/渲染性能?

是否值得担心CSS渲染性能?或者我们是否应该完全不用担心CSS的效率而只关注编写优雅或可维护的CSS?

此问题旨在成为前端开发人员的有用资源,其中CSS的某些部分实际上可能会对设备性能产生重大影响,以及哪些设备/浏览器或引擎可能会受到影响.这不是关于如何编写优雅或可维护的CSS的问题,它纯粹是关于性能的(尽管希望这里写的内容可以提供关于最佳实践的更多一般文章).

现有证据

谷歌Mozilla已经编写了关于编写高效CSS的指南,CSSLint的规则包括:

避免看起来像正则表达式的选择器.不要使用复杂的相等运算符来避免性能损失

但是他们都没有提供任何证据(我能找到)这些证据的影响.

一个高效的CSS css-tricks.com文章认为(概述效率的最佳做法的负载之后),我们应not .. sacrifice semantics or maintainability for efficient CSS这些天.

一个完美杀死博客文章建议,border-radiusbox-shadow呈现数量级比简单的CSS规则慢几个数量级.这在Opera的引擎中非常重要,但在Webkit中却微不足道.此外,粉碎杂志CSS基准测试发现,CSS3显示规则的渲染时间不明显,并且比使用图像渲染等效效果要快得多.

知道你的移动测试各种移动浏览器,并发现他们都快速地(在12毫秒内)渲染CSS3,但看起来他们在PC上进行了测试,因此我们无法推断手持设备如何在CSS3中执行一般.

目前 很多 的文章如何编写高效的CSS在互联网上.但是,我还没有找到任何全面的证据表明,严重认为CSS实际上会对网站的渲染时间或快速产生重大影响.

背景

退一步,我将尝试科学http://brightgreenscotland.org/wp-content/uploads/2010/09/stand-back-Im-going-to-try-science.png

我为这个问题提供了赏金,试图利用SO的社区力量来创建一个有用的,经过深入研究的资源.

css performance client-side rendering-engine css3

53
推荐指数
3
解决办法
5099
查看次数

何时使用"客户端路由"或"服务器端路由"?

我对此有点困惑,我觉得这个问题有点愚蠢,但我想理解它.

所以,假设我正在使用客户端Web框架,如Backbone,Angular或Durandal.该框架包括路由.

但我当然还有一个服务器用于数据库的东西,等等,它也有路由.

我现在的问题是:

何时使用"客户端路由"或"服务器端路由"?

如何"决定"是否已在客户端执行路由或请求是否首先发送到Web服务器?

我很难想象这一点,因为客户端可以在服务器了解该请求之前进行路由.

如果有人能解释这两个路由系统如何协同工作,我将非常感激.

PS:我没有包含代码示例,因为我不是在寻找有关特定框架的答案,而是关于一般的路由过程.

routing web-applications server-side client-side

53
推荐指数
1
解决办法
1万
查看次数

使用客户端Javascript时如何保持API密钥的秘密?

例如,看看这个Facebook插件.

在客户端,API密钥清晰可见.是什么阻止其他用户获取此密钥并在其他网站上使用此功能?

我认为一个非常天真的实现将是检查请求来自的域,但这样的事情很容易伪造.

如果我要创建类似的东西,我将如何保护身份验证过程?

我希望尽可能多地使用某种形式的服务器身份验证来完成这项工作.任何链接或建议将不胜感激.

更新

关于我发现有用的API密钥的类似问题.

javascript authentication client-side

47
推荐指数
1
解决办法
2万
查看次数

分页:服务器端还是客户端?

处理分页最好的是什么?服务器端还是使用javascript动态执行?

我正在研究一个对ajax很重要并且动态提取数据的项目,所以我一直在研究一个使用dom的javascript分页系统 - 但我开始认为处理它会更好服务器端.

每个人的想法是什么?

javascript pagination server-side client-side

45
推荐指数
5
解决办法
2万
查看次数

Angular JS如何与Google Closure相关?

现在AngularJS 1.0 已经发布了,我想知道这个项目如何与来自Google,Closure的其他通用JavaScript框架/工具结合在一起.

我只看到了这两种技术的基本描述(并阅读了关于Closure的书的一半),所以我没有直接的经验,但这是我看起来的样子:

  • 闭包是一组可以单独使用的技术.我觉得最吸引人的是:
    • Closure Compiler似乎在某种意义上"修复JavaScript",它会针对典型问题发出警告,提供了一些编译时检查(并非所有人都喜欢这样,但可能是大多数Google开发人员所做的,而且我也这样做).当然,结果代码更小,更高效,这很好.
    • 然后我喜欢Closure Library的一些部分,例如内置类型的抽象(ArrayLike等),基于类的系统,事件机制,DOM抽象等.我不确定我是否喜欢GUI库(似乎相当复杂,我没有时间研究它).
    • 然后有一些我认为不会发现有用的功能,例如模板.
  • AngularJS,我只是简单地读过,似乎比Closure高得多.它似乎是一个应用程序框架,提供数据绑定,可重用组件,MVC结构等功能.

所以这两种技术似乎都针对不同的抽象层次,所以我的第一个想法是,它们可以一起使用吗?关闭提供低级编译器和浏览器抽象,而Angular提供应用程序级服务和结构?它会有意义吗,它能很好地协同工作吗?

client-side google-closure angularjs

44
推荐指数
2
解决办法
2万
查看次数

来自TiddlyWiki的升级仍然100%便携?

TiddlyWiki是一个很棒的主意,非常出色.我将它用作便携式个人"知识管理员",这些都是奖品的优点:

  1. 它可以在我的USB闪存棒上运行,并可在任何计算机上运行,​​无论操作系统如何
  2. 计算机上不需要安装软件(TiddlyWiki仅使用Internet浏览器)
  3. 无需Internet连接
  4. 在数据检索功能方面,它模仿关系数据库(使用标签和内部链接)
  5. 设置和配置非常简单,几乎为零.这也意味着依赖关系是如此微小,以至于透明,或几乎如此.

假设我在4,000个收手(帖子)中有一百万字的散文.我还在测试,但看起来TiddlyWiki变得很慢.

是否有像TiddlyWiki这样的应用程序保留了我上面列出的所有优点,并允许更多存储空间? (或者更确切地说,检索!)

注意: 内容和演示文稿的分离是理想的.TiddlyWiki在单个HTML文档中包含所有内容,这很有趣,但它在很多方面都没有用.我不在乎是否需要各种文档的目录(SQLite,XML?),只要它在功能上是自包含的.

database portability knowledge-management client-side tiddlywiki

40
推荐指数
2
解决办法
3万
查看次数

在浏览器中描述页面呈现过程?

首先,我对这个问题所解决的整个请求 - 响应过程不感兴趣

从输入网址到浏览器的地址栏以获取浏览器中呈现的页面的完整过程是什么?

一旦它从服务器收到html响应,我想知道浏览器内部发生了什么.提出这个问题背后的意图是了解客户端脚本的内部细节.如果您能够在抽象概念中解释Web浏览器包含的内容,那将是有益的.您可以将它们称为CSS引擎,javascript引擎等.目标是精确地可视化我正在进行的Web开发.

不幸的是,我没有找到解决此问题的任何网络资源.如果有资源可以解释这些概念,请原谅我.如果这个问题过于详尽无法回答,您可以指向资源(书籍等).

javascript css browser rendering client-side

37
推荐指数
2
解决办法
2万
查看次数

您是否可以使用Graph API获取公共Facebook页面的订阅源而无需要求用户允许?

我从未使用Facebook的Graph API或OAuth.我只是想使用Graph API获取公共Facebook页面的源,但它需要访问令牌.我不想麻烦用户登录并允许访问获取他们的令牌.Facebook应用程序访问令牌可用于获取公共提要,但我试图完全用Javascript完成此操作,因此我无法使用应用程序密钥来执行此操作.我在某处读到Facebook应用程序访问令牌永远不会过期或更改,除非我手动重置密码.这是真的?在Access Token中硬编码是否安全?如果没有,是否有某种方式我可以验证应用程序获取令牌而不必涉及用户?我可以使用某种类型的通用app令牌吗?

javascript facebook client-side facebook-graph-api oauth-2.0

35
推荐指数
3
解决办法
7万
查看次数

在IndexedDB中,有没有办法进行排序复合查询?

说一张桌子有,名字,身份证,年龄,性别,教育等.ID是关键,表格也是姓名,年龄和性别的索引.我需要所有25岁以上的男学生按名字排序.

这在mySQL中很简单:

    SELECT * FROM table WHERE age > 25 AND sex = "M" ORDER BY name
Run Code Online (Sandbox Code Playgroud)

IndexDB允许创建索引并根据该索引对查询进行排序.但它不允许多次查询,如年龄和性别.我发现了一个名为queryIndexedDB(https://github.com/philikon/queryIndexedDB)的小型库,它允许复合查询,但不提供排序结果.

那么有没有办法在使用IndexedDB时进行排序复合查询?

sqlite html5 web-applications client-side indexeddb

31
推荐指数
1
解决办法
1万
查看次数

如何通过网站访问获取客户端MAC地址?

我有我的网站,它记录了访问者的数量,IP和访问时间......

我想识别每个访问者...我认为这可能记录IP地址...但是当IP是动态的时,我的系统会失败.所以我认为我可以解决它录制MAC地址...是否可能?应该使用什么语言?PHP,ASP,Javascript?

谢谢

编辑:我可以用来识别每个用户而无需登录信息(用户名和密码).

mac-address client-side

30
推荐指数
3
解决办法
7万
查看次数