小编mic*_*d82的帖子

无效的CSS选择器导致规则被删除:理由是什么?

我正在寻找更多关于邮件列表讨论等的链接,而不是猜测.

任何人都可以帮我找出CSS Selectors Level 3规范中引用的错误处理规则背后的基本原理.

用户代理必须遵守处理解析错误的规则:

  • 包含未声明的命名空间前缀的简单选择器无效
  • 包含无效简单选择器,无效组合符或无效标记的选择器无效.
  • 包含无效选择器的一组选择器无效.

重用规范选择器必须定义如何处理解析错误.(在CSS的情况下,删除使用选择器的整个规则.)

我有以下规则:

#menu li.last, #menu li:last-child {
  ...
}
Run Code Online (Sandbox Code Playgroud)

为了弥补IE8缺乏最后一个孩子的支持,我使用了一个类和一个JavaScript垫片.但是,这不起作用,因为IE8符合错误处理的CSS规范,并丢弃整个规则,因为它无法识别一个选择器.这可以通过将两个选择器分成单独的规则来解决.

为什么这是可取的?为什么规范没有建议简单地丢弃无法识别的选择器,而是保留规则的其余部分?

我想知道其基本原理,因为目前的规则似乎是违反直觉的.

css w3c css-selectors

23
推荐指数
1
解决办法
2535
查看次数

Javascript:将命名函数分配给变量时的不一致性(命名函数表达式)

任何人都可以解释Internet Explorer和Firefox之间在以下方面的行为差异:

var myNamespace = (function () {
  var exposed = {};

  exposed.myFunction = function myFunction () {
    return "Works!";
  }

  console.log(myFunction()); 
  // IE: "Works!"
  // Firefox: ReferenceError: myFunction is not defined

  console.log(exposed.myFunction());
  // IE: "Works!"
  // FF: "Works!"

  return exposed;
})();

console.log(myNamespace.myFunction()); 
// IE: "Works!"
// FF: "Works!"
Run Code Online (Sandbox Code Playgroud)

在Internet Explorer中这种方法可以让我通过使用调用我的函数从我的命名空间函数内部myFunction()exposed.myFunction().

在我的名字功能之外,我可以使用 myNamespace.myFunction()

在Firefox中,结果是相同的,除了没有用的裸命名函数调用.

应该有用吗?如果不应该,那么为什么不呢?

如果它应该是一个已知的错误?

javascript firefox internet-explorer cross-browser

5
推荐指数
1
解决办法
337
查看次数

PHP password_hash(): Are password hashes portable between systems?

我相信使用PHP的password_hash()函数散列的密码可能会转移到不同的系统,并且仍然可以成功地用于验证目的。

据我了解,bcrypt哈希包含所有必要的组件,当与纯文本密码结合使用时,可以验证给定的密码。因此,哈希可以带到具有兼容实现的任何系统中,并用于验证目的。

我将很快尝试一下,但是在此之前,我想知道我的理论是否正确。

它是否正确?

php bcrypt php-password-hash

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

Rails秘密令牌对于每个rails应用程序必须是唯一的吗?

在rails initializers下的secret_token.rb中,秘密令牌显示为一串随机字符和数字,必须为30个字符或更长.为了最大限度地提高安全性,对于部署的每个rails应用程序,此秘密令牌是否必须是唯一的?我们计划使用rails模板,该模板对于从同一模板开发的每个应用程序可能具有相同的机密令牌.非常感谢.

security ruby-on-rails ruby-on-rails-3.1

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

Fiddler:我可以使用特定的引荐来拦截指定的请求,并返回本地文件吗?

我希望添加一个Fiddler脚本,拦截与特定位置和特定引用者匹配的http请求,并使用本地备选方式进行响应.

想象一下,我们正在寻找以下标准:

[IF]请求是针对www.domain.com/file.js [AND]请求有一个带有主机名www.referrer.com [THEN]的引用来回复内容C:\Your\File.txt

http fiddler

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

Git:检索用于缓存清除目的的短提交哈希

我想使用git hash来缓存目的.

我的部署脚本将在git中查找特定文件,并将使用上次提交文件更改时的简短版本.这意味着每个文件的缓存清除字符串仅在必要时更改.

到目前为止,我有以下命令,它接近但不太正确:

git log -n 1 --abbrev-commit --pretty=oneline htdocs/js/sample.js
Run Code Online (Sandbox Code Playgroud)

返回:

21b1991 Commit message here
Run Code Online (Sandbox Code Playgroud)

我可以为提交哈希解析该字符串,但如果可能的话我宁愿不这样做.

我想让git返回:

21b1991
Run Code Online (Sandbox Code Playgroud)

我当然希望解决方案继续工作,如果git在发出命令时开始返回不同长度的哈希.我也不太反对使用完整哈希,但我觉得这不是必要的.

部署将基于git,并在Ubuntu 12.04 TLS系统上进行.

建议?

git web-deployment ubuntu-12.04

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

PHP,在类属性上调用静态方法

我希望将对象存储为类的属性.然后我想通过直接引用该属性来调用该类的静态方法.

考虑以下:

class myModel {
    public static function all()
    {
        return 1;
    }
}

class myClass {
    public $models;

    public function __construct()
    {
        $this->models->myModel = new myModel;
        $results = $this->models->myModel::all();
    }
}

$result = new myClass;
Run Code Online (Sandbox Code Playgroud)

PHP失败了 $results = $this->models->myModel::all();

如果我通过将class属性赋值给局部变量来修改它,事情就会按预期工作:

$myModel = $this->models->myModel;
$results = $myModel::all();
Run Code Online (Sandbox Code Playgroud)

我想消除将class属性赋给局部变量的需要.

这是可能的PHP 5.3.x(我使用的版本)或更确切地说,在更高版本中?

解决方案应该是可读的,并且代码的目的不应以其他方式混淆.

为清楚起见,这是工作代码的显着简化.在我发布的示例代码中,将对象存储在类属性中的好处并不明显.

php

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

C# - 分配布尔表达式的结果

我不确定这是否是c#支持的功能,但它是我在javascript编程中使用的构造,我希望使用带有c#的构造,如果它支持它(.net Framework 3.5).

我有以下工作代码:

if (user.Status == AccountStatus.Active) {
  status = true;
} else {
  status = false;
}
Run Code Online (Sandbox Code Playgroud)

我想将其缩短如下:

status = (user.Status == AccountStatus.Active);
Run Code Online (Sandbox Code Playgroud)

在Javascript中,这将在括号内分配评估的真/假结果.这似乎在c#中对我不起作用,并导致通用编译错误.

是否有一种替代方法以紧凑的方式实现这一目标?

c#

-1
推荐指数
1
解决办法
198
查看次数