小编Cam*_*mel的帖子

CSS:固定到底部并居中

我需要将我的页脚固定到页面底部并使其居中.页脚的内容可能会一直发生变化,因此我无法通过margin-left将其居中:xxpx; margin-right:xxpx;

问题是由于某种原因,这不起作用:

#whatever {
  position: fixed;
  bottom: 0px;
  margin-right: auto;
  margin-left: auto;
}
Run Code Online (Sandbox Code Playgroud)

我抓了网,一无所获.我试着制作一个容器div和nada.我尝试了其他组合和gurnisht.我怎样才能做到这一点?

谢谢

css positioning sticky-footer

77
推荐指数
5
解决办法
27万
查看次数

MongoDB :: MongoIds在各个集合中都是独一无二的吗?

我想知道:Mongo ID在同一个数据库中的不同集合中是否具有相同的值?

谢谢,

mongodb

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

Rails - 如何在javascript中创建的表单中添加CSRF保护?

我正在使用backbone.js,效果很好.但我作为javascript模板创建的表单缺少rails csrf保护令牌.如何将其添加到我在javascript中创建的模板中?

javascript ruby-on-rails csrf backbone.js ruby-on-rails-3

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

BackboneJS渲染问题

在过去的六个月里,我一直在使用Backbone.前两个月一直在搞乱,学习并弄清楚我想如何构建我的代码.接下来的4个月正在掀起一场适合生产的应用.不要误会我的意思,Backbone已经把我从以前成为标准的数千行的客户端代码中解救出来,但它使我能够在更短的时间内完成更多宏伟的事情,从而打开一堆全新的问题.对于我在这里提出的所有问题,有简单的解决方案,感觉像黑客或只是感觉不对.我保证获得300点奖励以获得一个很棒的解决方案.开始:

  1. 正在加载 - 对于我们的用例(管理面板),悲观的同步很糟糕.对于某些事情,我需要在接受它们之前验证服务器上的内容.我们在'sync'事件合并到Backbone之前就开始了,

我们使用这个小代码来模仿加载事件:

window.old_sync = Backbone.sync

# Add a loading event to backbone.sync
Backbone.sync = (method, model, options) ->
  old_sync(method, model, options)
  model.trigger("loading")
Run Code Online (Sandbox Code Playgroud)

大.它按预期工作,但感觉不正确.我们将此事件绑定到所有相关视图并显示加载图标,直到我们从该模型收到成功或错误事件.有更好,更健全的方式吗?

现在为艰难的:

  1. 太多东西让自己太多了 - 让我们说我们的应用程序有标签.每个选项卡控制一个集合.在左侧,您可以获得该系列.单击模型以开始在中心编辑它.您更改其名称并按Tab键转到下一个表单项.现在,您的应用程序是一个"实时的东西",注意到差异,运行验证,并自动将更改同步到服务器,不需要保存按钮!很好,但表单开头的H2与输入中的名称相同 - 您需要更新它.哦,你需要更新列表中的名称.哦,名单按姓名排序!

这是另一个例子:您想在集合中创建一个新项目.按"新建"按钮,即可开始填写表格.您是否立即将该项目添加到集合中?但如果您决定丢弃它会发生什么?或者如果您将整个集合保存在另一个选项卡上?并且,有一个文件上传 - 您需要先保存并同步模型,然后才能开始上传文件(这样您就可以将文件附加到模型中).所以一切都开始渲染震动:你保存模型和列表,表格再次渲染自己 - 它现在已同步,所以你得到一个新的删除按钮,它显示在列表中 - 但现在文件上传完成上传,所以一切再次开始渲染.

添加子视图到混合,一切开始看起来像费里尼电影.

  1. 它的子视图一直向下 - 这是关于这些东西的好文章.我不能,因为对所有神圣事物的热爱,找到一种将jQuery插件或DOM事件附加到具有子视图的任何视图的正确方法.地狱随之而来.工具提示会听到渲染很长时间并且开始变得怪异,子视图变得像僵尸一样或者没有响应.这是主要的痛点,因为这里有实际的错误,但我仍然没有一个全面的解决方案.

  2. 闪烁 - 渲染速度很快.事实上,它是如此之快,我的屏幕看起来像是癫痫发作.有时它的图像必须再次加载(使用另一个服务器调用!),因此html最小化然后再次最大化 - 该元素的css宽度+高度将解决这个问题.有时候我们可以用fadeIn和fadeOut来解决这个问题 - 这是写作屁股的痛苦,因为有时我们会重复使用视图,有时会重新创建它.

TL; DR - 我在Backbone中遇到了查看和子视图的问题 - 渲染次数太多,渲染时会闪烁,子视图会分离我的DOM事件并吃掉我的大脑.

谢谢!

更多细节:BackboneJS与Ruby on Rails Gem.使用UnderscoreJS模板的模板.

javascript jquery node.js coffeescript backbone.js

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

Socket.IO中的跨域连接

是否可以以跨域方式使用Socket.IO?如果是这样,怎么样?网络上提到了这种可能性,但没有任何代码示例.

javascript cross-domain websocket cors socket.io

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

使用Yeoman和Mocha对NodeJS和客户端进行全面集成测试

我和Yeoman一起运行了很棒的客户端测试.Yeoman编译我的CoffeeScript,在服务器中打开测试页面,使用PhantomJS访问它并将所有测试结果传递给命令行.这个过程非常糟糕,测试结果通过alert()消息传递给Phantom进程,该进程创建一个临时文件,并将消息填充为JSON.Yeoman(好吧,Grunt)遍历临时文件,解析测试并在命令行中显示它们.

我解释这个过程的原因是我想为它添加一些东西.我也得到了服务器端测试.他们使用mocha和supertest来检查API端点和Redis客户端,以确保数据库状态符合预期.但我想合并这两个测试套件!

我不想为服务器调用编写客户端模拟响应.我不想发送服务器模拟数据.在某个地方,我将更改服务器或客户端,测试不会失败.我想做一个真正的集成测试.所以,当在客户端的测试结束我想钩上运行服务器端的相关测试(检查数据库状态,会话状态,移动到不同的测试页).

这有什么解决方案吗?或者,或者,我在哪里开始攻击Yeoman/Grunt/grunt-mocha来完成这项工作?

我认为grunt-mocha中的Phantom Handlers是一个很好的起点:

// Handle methods passed from PhantomJS, including Mocha hooks.
  var phantomHandlers = {
    // Mocha hooks.
    suiteStart: function(name) {
      unfinished[name] = true;
      currentModule = name;
    },
    suiteDone: function(name, failed, passed, total) {
      delete unfinished[name];
    },
    testStart: function(name) {
      currentTest = (currentModule ? currentModule + ' - ' : '') + name;
      verbose.write(currentTest + '...');
    },
    testFail: function(name, result) {
        result.testName = currentTest;
        failedAssertions.push(result);
    },
    testDone: function(title, state) {
      // Log errors if …
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing node.js coffeescript gruntjs

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

Google Plus一键回拨 - 任何"订阅"+1操作的方式?

我正在寻找订阅加号按钮的方法.

根据这里的文档:https://developers.google.com/+/plugins/+1button/#plusonetag-parameters 我可以为标记添加一个回调属性,但在我的情况下,我不允许干涉.我正在构建一个站点上的工具,一个嵌入式JS在文档就绪时触发.我想实时添加回调,如果声明了回调,它不得干扰原始回调.

我没有Facebook或Twitter的问题(比如和推文).在这些情况下,有FB和twttr全局变量,一旦可用就这样注册:

FB.Event.subscribe("edge.create", function(e) {
  console.log(e);
})
Run Code Online (Sandbox Code Playgroud)

或推特 twttr.events.bind ...

我错过了什么,或谷歌选择一种非常尴尬的做事方式?他们对这种方法有什么兴趣,围绕它可以做些什么?

javascript jquery google-plus-one

17
推荐指数
1
解决办法
6595
查看次数

在Rails中使用Mongoid的MongoDB - 地理空间索引

MongoDB具有非常好的地理空间索引功能.我怎样才能在带有Mongoid的Rails中使用它?

ruby ruby-on-rails geolocation mongodb mongoid

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

MongoDB - 为什么我应该使用游标而不是iterator_to_array(在PHP中)

mongo类的PHP文档说使用游标而不是iterator_to_array优越.为什么?我可以从中获得什么好处/灵活性?

php cursor mongodb

12
推荐指数
1
解决办法
3762
查看次数

Rails中的第三方脚本缓存3.1

我有一个脚本第三方网站正在使用:/assets/script.js.出于显而易见的原因,我不能要求他们在每次部署时更改链接以指向脚本的最新指纹版本.我有一些缓存问题,用户仍然看到旧版本的/script.js.有没有办法让缓存直接消失script.js而不是 script-9dc5afea3571ba2a883a72b0da0bb623.js

更多信息:Passenger + Nginx上的Rails.script.js如果手指打印文件并在每个部署上使缓存无效,则寻找提供文件的方法.

我考虑过根据部署git修订添加ETag,但不知道如何做到这一点.Nginx没有内置的ETags支持.有不受支持的旧第三方模块可以执行此操作.我可以使用add_header Etag="something"它,但如何在那里添加git版本.

还有其他想法和选择吗?

谢谢!

javascript ruby ruby-on-rails nginx ruby-on-rails-3

11
推荐指数
1
解决办法
520
查看次数