小编Fab*_*aux的帖子

使用localStorage而不是Cookies有什么缺点吗?

在我以前的网站上,我曾经使用cookie只在第一次访问时显示一个主页.这很好用(例如见这里),但今天使用cookies并不那么时髦,所以我想尽可能地避免它.

现在,我的新网站项目几乎总是通过javascript(显示模式框)预先推出,所以我不需要在服务器端执行任何操作.我正在考虑使用HTML5 localStorage而不是cookie,如果浏览器没有localStorage,则使用cookie备用.这是一个好主意吗?在可用性,隐私保护和网站性能方面有何影响?

使用localStorage可以提高已禁用cookie的用户的可用性.但我知道有些HTML5功能只能在某些浏览器中选择加入(如地理定位).在任何浏览器上都有像localStorage那样的限制吗?是否有任何情况下,如果localStorage可用但我的网站已停用,我将收到JS错误?

html javascript cookies html5 local-storage

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

如何使用Backbone.js增强多语言网站导航?

我有一个多语言网站,显示几个(十几个)内容页面,有这样的漂亮网址:

example.com              <- home for default language (french)
example.com/biographie   <- page 1
example.com/en           <- home for english language
example.com/en/biography <- page 1 english translation
Run Code Online (Sandbox Code Playgroud)

我想将页面合并在一起并提供完整的ajax导航,就像Pitchfork一样.而最重要的是保留非JavaScript客户端(SEO,社交网络和其他)页面视图.

服务器提供完整的网页,然后当Backbone初始化时,它预取其他页面并将其注入DOM以加速导航.当我导航到另一个页面时,我使用Backbone内置历史记录API来记录历史记录中的新URL,并更改我的视图以显示所请求的页面.

var Navigator = Backbone.Router.extend({

  routes: {
    "*page":                "showPage",
  },

  showPage: function(page) {
    this.pages[page].show();
  }

}
Run Code Online (Sandbox Code Playgroud)

我的问题是管理i18n(我的意思是翻译页面).如何设置我的路由器来处理语言?我该如何处理语言切换?

routes: {
  "*page":                "showPageFr",
  "en/*page":             "showPageEn",
},

showPageFr: function(page){
  showPage(page, 'fr');
},

showPageEn: function(page){
  showPage(page, 'en');
},

showPage: function(page, lang) {
  // How should I manage 'lang' parameter here ?
  this.pages[page].show();
}
Run Code Online (Sandbox Code Playgroud)

我看了i18n JS框架,但我认为我不需要它,因为我想翻译整个页面内容,而不是一些UI元素.所有翻译部分都在服务器端进行管理.

javascript seo friendly-url internationalization backbone.js

8
推荐指数
1
解决办法
4653
查看次数

Git工作流来审核提交而无需重写历史记录

我正在与一个刚接触git的开发人员合作,我想设置一个git工作流,让我审核这个开发人员的提交(并可能拒绝他们)而不强迫他改变他的工作(这很容易出错)对于新用户).

这是场景:

  • master分支仅包含经过审核的代码
  • devel分支是由分支master分支创建的
  • 开发人员正在devel分支机构上工作并推送他的代码供我审核
  • 我发现他的代码存在一些问题,所以我请他在devel分支上做更多的提交以解决问题
  • 一旦我对代码感到满意,我会挑选(或合并壁球)开发人员在master分支上提交,添加我自己的注释并将提交标记为开发人员编写的
  • 开发人员将master分支合并回他的devel分支

以下是此方案的直观说明:

视觉情景

在这个序列之后,如果开发人员在其他一些提交之后再次推送他的分支,我怎么能100%确定开发人员在"犯错/重做"序列期间犯的错误不会再出现devel

最好的解决方案是让开发人员devel反对他的分支master,但这对新git用户来说是一项艰巨的任务.

如果这个工作流程有任何错误,请建议我另一个我可以在将它们合并到主分支之前审核提交的地方.

编辑

一位朋友向我建议了一个看起来很有希望的方向:提交时的--fixup选项.

--fixup=<commit>

构造一个用于的提交消息rebase --autosquash.提交消息将是指定提交的主题行,前缀为"fixup!".有关详细信息,请参阅git-rebase.

开发人员可以使用此选项将第二次和第三次提交正确标记为第一次提交.探索的好方法......

git git-workflow

7
推荐指数
2
解决办法
1393
查看次数

用three.js创建一个凹半球

我是一名具有良好js经验的Web开发人员,我目前正在探索three.js的可能性.但是,我对3D形状和词汇并不是很熟悉,我无法弄清楚如何构建我需要的形状.

我想创建一个半球,并能够在这个球体内投影视频.我有一个全景球形视频,我需要扭曲它使它看起来像"飞机".感谢Paul的教程,我绘制了一个球体,并在其上投射了我的视频.但外球面是凸面的,我需要一个凹面!我无法弄清楚如何实现这一目标.从我最初的球体中挤出一个较小的球体?

请帮忙 !

three.js

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