我想知道我是否可以将calc()函数与attr()函数结合起来,以实现如下所示:
<div class="content" data-x="1">
This box should have a width of 100px
</div>
<div class="content" data-x="2">
This box should have a width of 200px
</div>
<div class="content" data-x="3">
This box should have a width of 300px
</div>
Run Code Online (Sandbox Code Playgroud)
CSS
.content{
//Fallback. If no calc is supported, just leave it at 100px
width: 100px;
}
.content[data-x]{
// Multiply the width of the element by the factor of data-x
width: calc(100px * attr(data-x));
}
Run Code Online (Sandbox Code Playgroud)
该草案说,它应该工作,但对我来说器(Chrome 31.0.1650.63 m和火狐25.0.1),它没有.那么有两种情况:
这是怎么回事?
我正在进行一个侧面项目,并且我将我的Skelton项目重新设计为微服务,到目前为止我没有找到任何遵循这种模式的开源项目.经过大量的阅读和搜索,我总结了这个设计,但我仍然有一些问题和想法.
以下是我的问题和想法:
我想创建一个具有图像属性的对象,但我希望contstructor只在加载图像后才能完成运行.或者用代码来描述:
GraphicObject = Class.extend({
//This is the constructor
init: function(){
this.graphic = new Image();
this.graphic.src = 'path/to/file.png';
while(true)
{
this.graphic.onload = function(){break;};
//I know this won't work since the 'break' is on a different context
//but you got what I try to do.
}
}
})
Run Code Online (Sandbox Code Playgroud)
对于那些不熟悉我在脚本中使用的Class符号的人来说,它基于此
有任何想法吗?
我正在尝试使用setter和getter创建一个对象,这是我的代码:
var Player = function(height){
var _height = height;
Object.defineProperty(this, 'height', {
enumerable: false
, configurable: true
, writable: false
, get: function(){return _height;}
, set: function(val){_height = val;}
});
}
Run Code Online (Sandbox Code Playgroud)
var myPlayer = new Player(10);
即使writable
defineProperty选项的属性设置为false,我也会收到以下错误:
Invalid property. A property cannot both have accessors and be writable or have a value, #<Object>
当当writable
设置为true 时也会发生同样的情况,但如果我删除该writable
行,则错误消失.
我做错了什么,或者这是一个错误?这种情况发生在Google Chrome,版本30.0.1599.66上
我正在尝试为我的Meteor应用程序启用电子邮件支持,因为我有自己的服务器,所以我也想使用自己的邮件服务器.所以我安装postfix
在我的Debian wheezy
服务器上并成功发送并通过电子邮件发送到我的GMail地址,这意味着邮件服务器正常工作并发送电子邮件.
当我部署我的Meteor应用程序并尝试发送电子邮件时,说要重置密码,我的应用程序崩溃时出现以下错误:
Exception while invoking method 'forgotPassword' RecipientError: Can't send mail - all recipients were rejected
at Object.Future.wait (/home/loupax/phial/bundle/programs/server/node_modules/fibers/future.js:326:15)
at smtpSend (packages/email/email.js:94)
at Object.Email.send (packages/email/email.js:155)
...
...
Run Code Online (Sandbox Code Playgroud)
我的MAIL_URL
环境变量是格式MAIL_URL=smtp://my_domain.tld
.
我真的希望这个问题能够成为一个编程问题并且最终不会出现声音力学的问题...这里......
我正在做一些实验,以弄清楚Web Audio API的工作原理.我想要做的是一个简单的"挂断电话"声音循环播放.问题是当声音结束时,你可以听到一声非常烦人的"咔哒"声.我无法更好地解释它,但如果您测试代码,您可以听到它.
有什么方法可以避免这种情况吗?我可以应用一些过滤器或任何东西?
var audioContext = new (AudioContext || webkitAudioContext)();
var frequencyOffset = 0
function boop(){
// Our sound source is a simple triangle oscillator
var oscillator = audioContext.createOscillator(); // Create sound source
oscillator.type = 'triangle';
// Adding a gain node just to lower the volume a bit and to make the
// sound less ear-piercing
var gain = audioContext.createGain();
oscillator.connect(gain);
gain.connect(audioContext.destination);
gain.gain.value = 0.1;
// Just for fun let the frequency increase on each itteration
oscillator.frequency.value = …
Run Code Online (Sandbox Code Playgroud)我正在使用MS SQL Server和带有Active Record的CodeIgniter 2来处理我正在进行的项目,我只是偶然发现了这个问题:
当我提交包含中文或印地文字符的表单时,我将其存储在一个表中,当我查看它时,我得到的是问号.如果我尝试英文或希腊字符,一切似乎都很好.
我之所以认为这与我正在编写的PHP有关,是因为如果我直接在SQL Server Management Studio中复制粘贴中文文本,所有值都会在SQL Studio和SQL Studio上完美地存储和显示Web应用程序.
这些是我正在使用的数据库设置:
$db['local']['dbdriver'] = 'sqlsrv';
$db['local']['dbprefix'] = '';
$db['local']['pconnect'] = FALSE;
$db['local']['db_debug'] = TRUE;
$db['local']['cache_on'] = FALSE;
$db['local']['cachedir'] = '';
$db['local']['char_set'] = 'utf8';
$db['local']['dbcollat'] = 'utf8_general_ci';
$db['local']['swap_pre'] = '';
$db['local']['autoinit'] = TRUE;
$db['local']['stricton'] = FALSE;
Run Code Online (Sandbox Code Playgroud)
这是我正在测试的表的结构:
CREATE TABLE [dbo].[languages](
[id] [int] IDENTITY(1,1) NOT NULL,
[language] [nvarchar](1024) NULL,
[language_local] [nvarchar](1024) NULL,
[lang_code] [nvarchar](100) NULL,
[core] [bit] NULL,
CONSTRAINT [PK_languages] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE …
Run Code Online (Sandbox Code Playgroud) 看起来在调整HTML元素大小时,windows的resize事件也会被触发.
因为我想在调整元素大小时执行不同的逻辑,并且当窗口调整大小时,是否有一种非hackish方式来处理它?
$(function(){
$(window).on('resize', function(){
// This event gets fired when the #my_element div gets resized, event if
// window doesn't get resized itself
$('#text').text(++resizes);
});
$('#my_element').resizable();
});
Run Code Online (Sandbox Code Playgroud)
换句话说,问题是当我调整元素大小时,即使它们的大小没有改变,resize事件也会被所有父元素触发
我目前正在开发一个用于monolog
日志记录的大型应用程序,并被要求隐藏密码等任何敏感信息。
我试图做的是扩展独白,以便它会自动用星号替换敏感信息,但即使数据似乎被更改,最终原始文本也会被记录。
use Monolog\Handler\AbstractProcessingHandler;
class FilterOutputHandler extends AbstractProcessingHandler
{
private $filteredFields = [];
public function __construct(array $filteredFields = [], $level = Monolog\Logger::DEBUG, $bubble = true)
{
$this->filteredFields = array_merge($filteredFields, $this->filteredFields);
parent::__construct($level, $bubble);
}
protected function write(array $record)
{
foreach($record['context'] as $key=>$value){
if(in_array($key, $this->filteredFields)){
$record['context'][$key] = '*****';
}
}
return $record;
}
}
Run Code Online (Sandbox Code Playgroud)
当我初始化记录器时,我这样做:
$logger->pushHandler(new FilterOutputHandler(['username', 'password']));
$logger->debug('Sensitive data incoming', ['username'=> 'Oh noes!', 'password'=> 'You shouldn\'t be able to see me!']);
Run Code Online (Sandbox Code Playgroud)
我还尝试重写接口的handle
和方法,但没有成功。这可以用独白来完成吗?processRecord
AbstractProcessingHandler
在我的团队中,我们使用codesniffer来强制Symfony应用程序的编码风格,并且刚刚意识到没有扩展名的文件不会被检查,即使我们明确地使用该文件作为参数。正如本github 问题中讨论的那样,这是设计使然。
这意味着像bin/console这样的文件不会被检查,即使它们是有效的 PHP 文件,并且--extensions
参数不接受空参数。
有没有办法让 CodeSniffer 也检查这些文件?