小编And*_*Ray的帖子

jQuery 1.8.2 +非当前jQuery UI = outerWidth和outerHeight坏了

这是一个错误关闭的问题的重做:jQuery 1.8外部高度/宽度不起作用

我遇到了同样的问题.outerWidthouterHeight现在返回数字的jQuery对象来代替.

我们正在使用2012年1月10日发布的jQuery UI 1.8.17.它不是一个超级旧版本,所以我有一种感觉,其他人会看到这个.由于一些可怕的jQuery ui插件,我们被锁定在这个版本中,因此升级目前不是一个选项.

如果我找到解决方案,我会回答这个问题.

这是一个演示问题的小提琴http://jsfiddle.net/delvarworld/yxDHu/(在"管理资源"中添加了jQuery UI版本)

更新:这是因为jQuery UI中的这一行:

return orig[ "outer" + name ].call( this, size );
Run Code Online (Sandbox Code Playgroud)

在jQuery 1.8.2中错误地触发了这个条件:

var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
Run Code Online (Sandbox Code Playgroud)

因为即使size未定义,检查也是arguments.length.可链接在这里应该是假的.你可以传入未定义的,它仍然会使参数成为长度为1的对象.有人需要阅读他们的JS;)

jquery version outerwidth

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

尝试用.then,.fail和.reject打破jQuery承诺链

更新:此问题是jQuery 1.7 vs 1.8的结果.不要在1.7中使用承诺,因为它们不能在一个承诺内部回复.then.1.8看起来他们没有弄乱它.

http://jsfiddle.net/delvarworld/28TDM/

// make a promise
var deferred = $.Deferred();
promise = deferred.promise();

// return a promise, that after 1 second, is rejected
promise.then(function(){
    var t = $.Deferred();
    setTimeout(function() {
        console.log('rejecting...');
        t.reject();
    }, 1000);

    return t.promise();
});

// if that promise is successful, do this
promise.then(function() {
    console.log('i should never be called');
})

// if it errors, do this
promise.fail(function() {
    console.log('i should be called');
});

deferred.resolve();
Run Code Online (Sandbox Code Playgroud)

预期:'我应该被称为'

实际:'我永远不应该被称为'

问题:我想链接回调并让其中任何一个能够打破链并触发该fail函数,并跳过其他链式回调.我不明白为什么所有的游戏都被触发并且未触发失败.

我来自NodeJS的Q库,所以我先尝试了.then …

jquery promise chain deferred

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

MacVim + Command-T插件,默认情况下如何在新标签页中打开

我想使用VIM的Command-T插件执行以下操作:默认情况下,将打开文件放在新选项卡中,而不是在选择文件时按CTRL-T.我想[Enter]在新选项卡中打开所选文件.我在这个行为的选项中找不到任何内容.

plugins macvim

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

svn命令行相当于'git log -p'?

是否有相当于git log -p使用svn命令行工具?svn log -v显示文件名但不显示更改.

我希望看到先前提交引入的补丁.如果不可能,有没有办法获得一个先前提交引入的补丁(不比较头部,只是变更集)?

svn git logging command-line

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

边界半径+溢出隐藏+内部元素(进度条)使锯齿状边缘伪影

我正在尝试建立一个进度条,相当简单.我有一个嵌在托盘内的酒吧.该盘已overflow: hiddenborder-radius设置就可以了.

进度条上的锯齿状边缘

这是证明问题的jsFiddle.

正如您在图像中看到的那样,进度条左侧有一个锯齿状的神器.看起来父进度条(深色背景)的抗锯齿边缘正在流血.期望的行为是条/填充元素用于对进度条进行抗锯齿处理.

我尝试的一个简单的解决方案是绝对定位内部div,但进度条需要能够从0到1%的动画,并且没有overflow: hidden裁剪就能看到.

在Chrome和Firefox上都看到了这个神器,所以我不会立即怀疑它是Webkit中的一个错误.

我还会注意到这个错误也会影响Bootstrap的进度条,但是当托盘是浅色并且背景是浅色时,该工件更难以发现.

html css css3

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

Postgres row_to_json生成带有双重转义引号的无效JSON

创建JSON导出时,Postgres会错误地引用引号.请注意以下更新中的双引号...

UPDATE models SET column='"hello"' WHERE id=1;

COPY (SELECT row_to_json(models)
    FROM (SELECT column FROM shaders WHERE id=1) shaders)
    TO '/output.json';
Run Code Online (Sandbox Code Playgroud)

output.json的内容:

{"column":"\\"hello\\""}
Run Code Online (Sandbox Code Playgroud)

您可以看到引号被不正确地转义,并且它会创建无效的JSON.它应该是:

{"column":"\"hello\""}
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个Postgres错误或解决它?

postgresql json

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

是否有可能利用允许PEMDAS的javascript数学函数?

我的页面上有一个表单字段,如果用户在其中键入一个简单的数学方程式,我想用解决方案替换该值.因此,如果用户键入1 + 2字段并点击,enter我将替换输入值3.

目前我只评估方程式是否匹配此正则表达式:

/^[\d. \+/\*-]+$/
Run Code Online (Sandbox Code Playgroud)

也就是说,如果整个字符串由数字,空格,加号,减号,乘法或除数字符组成.

然后我像这样评估值:

(new Function('try {var a = ' + val + '; return a;} catch(e) {return -1;}'))()
Run Code Online (Sandbox Code Playgroud)

此表单字段可以由查询字符串参数预先填充,客户端将尝试执行它.AKA潜在的攻击将是mysite.com?inputVal=cookieStealingProgram.我不希望用户能够链接到利用代码.

我想在正则表达式中添加括号和指数,以便用户可以(1 + 2) / 3 ^ 5输入例如.虽然我相当确定只有数字和运算符不可能有任何漏洞利用,但我不确定括号中的情况.

我知道只使用字符的组合,! [ ] + ( )您可以创建一个完全可执行的JavaScript程序.我也尝试在Google中搜索"javascript exploit characters"和各种组合,但这并不是一件容易找到的事情.

我的具体问题是,是否可以使用0-9 . + - / * ( ) ^(允许空格字符)编写任意javascript程序?由于它有点开放,如果几天后没有提供例子,我很好地结束这个问题.

我没有实现也没有使用解析器来执行此操作.这与这个问题无关

javascript regex math exploit

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

如何正确地在bash提示符中转义unicode字符

我有一个特定的方法用于我的bash提示,让我们说它看起来像这样:

CHAR="? "
my_function="
    prompt=\" \[\$CHAR\]\"
    echo -e \$prompt"

PS1="\$(${my_function}) \$ "
Run Code Online (Sandbox Code Playgroud)

为了解释上面的内容,我通过执行存储在字符串中的函数来构建我的bash提示符,这是由于这个问题而做出的决定.让我们假装它工作正常,因为它确实如此,除非涉及到unicode字符

我试图找到逃脱unicode角色的正确方法,因为现在它与bash线长度混淆.测试它是否被破坏的简单方法是键入一个长命令,执行它,按CTRL-R并键入以找到它,然后按CTRL-A CTRL-E跳转到该行的开头/结尾.如果文本出现乱码,那么它就无法正常工作.

我已经尝试了几个方法来正确地转义函数字符串中的unicode字符,但似乎没有任何工作.

像这样的特殊人物:

COLOR_BLUE=$(tput sgr0 && tput setaf 6)

my_function="
    prompt="\\[\$COLOR_BLUE\\] \"
    echo -e \$prompt"
Run Code Online (Sandbox Code Playgroud)

这是我提示函数字符串的主要原因.那个转义序列不会弄乱行长度,它只是unicode字符.

unicode bash prompt

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

如何在Sequelize中以JSON形式返回数据

当我创建一个Sequelize查询时,它返回给我一个对象(或数组),我猜测它是一个Sequelize模型(或模型数组(一个集合类型??))但它没有记录在任何地方,所以我只是猜测.我总是希望结果是JSON.我可以在查询中传递任何强制执行此操作的内容吗?如果可能的话,我宁愿不按摩每一个结果我都会回到JSON.

文档显示这将返回一个字符串:

console.log(JSON.stringify(users))
Run Code Online (Sandbox Code Playgroud)

所以有一些内置的序列化.现在我正在使用未记录的toJSON()方法执行此操作:

query().then(function(result) {
    if(result.length) {
        return result.toJSON();
    } else {
        return result.map(function(item) {
            return item.toJSON();
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

这很麻烦.

postgresql node.js sequelize.js

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

如何将文件附加到Webpack中的包中,或者注入所需的代码?

我正在尝试构建一个将模块/文件注入客户端包的插件.

条目配置可能如下所示:

entry: {
  'main': [
    'some-stuff'
  ],
}
Run Code Online (Sandbox Code Playgroud)

我想使用我的插件,如:

function SomePlugin(options) {
    this.entryToAppendTo = options.entryToAppendTo
}

...

plugins: [
  new SomePlugin({ entryToAppendTo: 'main' })
]
Run Code Online (Sandbox Code Playgroud)

在我的插件中,我想要将该文件视为在Webpack本身中完成,例如:

SomePlugin.prototype.apply = function(compiler) {

    compiler.plugin( 'emit', function( compilation, callback ) {

        var additionalModule = 'my-module?some-stuff=' + Date.now();
        // how to add this to the specified entry?

    })

});
Run Code Online (Sandbox Code Playgroud)

请注意,我正在传递一个动态查询字符串,这就是为什么我的目标是在插件中执行此操作.

我想将一个文件附加到捆绑包,或以某种方式将其注入客户端捆绑包.我已经尝试将其添加到compilation.assets 此处所示,但它不会进入实际的捆绑包中.我也尝试添加一个子编译器,如此问题所示,但同样的问题.

javascript webpack

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