小编Rap*_*ger的帖子

有真正聪明的CSS压缩器吗?

我测试了一些CSS压缩器,说实话,我很失望.也许我只是尝试过错了?

起点如下,故意不好的css代码:

.a{
   font-size: 10px;
   padding: 0 6px;
   text-align: center;
}
.b{
   font-size: 11px;
   padding: 0 6px;
   text-align: center;
}
Run Code Online (Sandbox Code Playgroud)

很明显,在两个类中声明3个属性中的2个属性是无意义的,并导致185个字节的代码.如果你手动更好地编写它会看起来像

.a, .b{
   padding: 0 6px;
   text-align: center;
}
.a{
   font-size: 10px;
}
.b{
   font-size: 11px;
}
Run Code Online (Sandbox Code Playgroud)

它有点小(149字节)或甚至

.a, .b{
   padding: 0 6px;
   text-align: center;
   font-size: 10px;
}
.b{
   font-size: 11px;
}
Run Code Online (Sandbox Code Playgroud)

这之前是133个字节

.a,.b{padding:0 6px;text-align:center;font-size:10px}.b{font-size:11px}
Run Code Online (Sandbox Code Playgroud)

压缩后只有71个字节.这将是原始尺寸的100/185*71 = 38.3%.

然而,所有的压缩都是:

.a{font-size:10px;padding:0 6px;text-align:center}.b{font-size:11px;padding:0 6px;text-align:center}
Run Code Online (Sandbox Code Playgroud)

这是100个字节.

当然,在一个理想的世界中,你只需要编写更好的CSS代码,但是如果你编写更大的文件就不容易,如果你使用任何框架几乎不可能.

那么,是否有更好的工具可以产生上述示例代码的71字节?

css minify

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

按属性值获取元素的子元素

我有一个表示DIV的jQuery对象:

$rel = $('#rel_'+rel.id);
Run Code Online (Sandbox Code Playgroud)

在那个DIV中,有一个BUTTON,我的自定义属性"rid"设置为rel.id

我需要选择那个按钮,它的工作原理如下:

$("[rid='"+rel.id+"']").html();
Run Code Online (Sandbox Code Playgroud)

但我认为这不是最快的解决方案,因为它需要解析整个DOM,因为我知道按钮总是在DIV内部,我可以避免这种情况.

我用以下代码尝试了它:

$rel.children("[rid='"+rel.id+"']").html();
Run Code Online (Sandbox Code Playgroud)

但那没用.

谢谢你的帮助.

jquery dom selector

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

jQuery AJAX上传大文本字段的进度

是否有可能使用jQuery ajax获取具有非常大的文本字段的表单的上传进度?我认为客户端知道已经发送了多少字节,但是当我使用Google时,我只能使用服务器站点代码找到文件上传的解决方案.

这是我的ajax请求:

$.ajax({
        type: "POST",
        url: "index.php?action=saveNewPost",
        data: {textbox1: textbox1,textbox2: textbox2},
        contentType: "application/x-www-form-urlencoded;charset=UTF-8",
        success: function(){
            //
        }
    });
Run Code Online (Sandbox Code Playgroud)

我希望有一个类似"onProgress"的东西,其参数包含已发送的字节数量...

找到了解决方案

$.ajax({
        xhr: function() {
            var req = $.ajaxSettings.xhr();
            if (req) {
                req.upload.addEventListener('progress', function(event) {
                    if (event.lengthComputable) {
                        $('#ajaxFeedbackDiv').html(event.loaded); // = 'test'; //event.loaded + ' / ' + event.total;
                    }
                }, false);
            }
            return req;
        },
        type: "POST",
        url: "index.php?action=saveNewPost",
        data: {textbox1: textbox1,textbox2: textbox2},
        contentType: "application/x-www-form-urlencoded;charset=UTF-8"
        }
    });
Run Code Online (Sandbox Code Playgroud)

这似乎有效,尽管还有

2个问题:

  1. 我的localhost上的连接太快了,所以很难看到"进度"实际上正在工作.我在同一网络中的第二台Mac上安装了此工具http://mschrag.github.com,我发现它工作正常.
  2. 我不确定这对非XHR/HTML5兼容的浏览器是否会回退友好,即只上传没有进度信息?

forms jquery progress

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

使用 jQuery 查找最近的兄弟姐妹

给定以下 DOM

<ul>
     <li data-id="1">
     <li data-id="2">
     <li data-id="3">
     <li data-id="1">
</ul>
Run Code Online (Sandbox Code Playgroud)

我们需要找到与 data-id="3"最接近的<li>-Elementdata-id="1"

我们尝试了:

$('[data-id=3]').siblings('[data-id=1]').first()
Run Code Online (Sandbox Code Playgroud)

当然,它返回DOM 中的第一个,而不是最接近的

我们还尝试过:

$('[data-id=3]').closest('[data-id=1]')
Run Code Online (Sandbox Code Playgroud)

这是行不通的,因为它只是返回祖先。

感谢您的任何提示。

jquery dom siblings closest

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

在一个站点上区分多种形式以实现自动完成

浏览器自动完成背后的逻辑是什么-它们如何区分一个站点甚至页面上的多种形式?让我们假设您有一个电子商务站点,该站点具有登录名(用户/通行证)和结帐时的礼品卡(礼品卡号/通行证)。您如何告诉浏览器这些字段不是同一字段,必须分开存储?

当然,我们可以只在第二个表单上禁用自动完成功能,但这不是一个很好的解决方案。

有自动补全的标准吗?表单ID是存储它的密钥吗?从Windows 10开始,由于云同步功能可以跨浏览器同步密码和其他表单值,因此情况似乎更加复杂。

谢谢!

forms html5 autocomplete

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

Jquery:将.toggle添加到<a>会使其消失

我有

<a id="autoUpdate">Auto-Update: ON</a>
Run Code Online (Sandbox Code Playgroud)

$('#autoUpdate').toggle(function(){
alert('a');
}, function(){
alert('b');
})
Run Code Online (Sandbox Code Playgroud)

当页面加载时,完整的<a>-Tag显示:none并且'b'被警告!我应该补充说,如果重要且链接位于顶部导航中,这是使用Twitter Bootstrap开发阶段的网站.顺便说一句,如果我将a-tag更改为<p>fe,一切似乎都很好.

jquery toggle twitter-bootstrap

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

Safari中的iOS虚拟键盘:将"Go"更改为"Enter"

我知道,如果你有关键字"搜索"

<input type="search">
Run Code Online (Sandbox Code Playgroud)

iOS上的Safari识别出这一点并在虚拟键盘中显示"搜索"而不是"开始".是否还有其他可识别的关键字?我想将其命名为"Enter",因为在标签输入上,"搜索"和"开始"都不是很有意义.

safari web-applications ios

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

防止触摸设备延迟300ms

Android和iOS设备上有300毫秒的内置延迟以捕获双击(无论如何,谁在网站上使用它,谈到用户体验?!)我想摆脱这种延迟并阅读很多关于主题,但仍然不明白为什么这个简单的代码不是"OK"或打破UX:

$('a').bind('touchend', function (e) {
    e.preventDefault();
    this.click();
});
Run Code Online (Sandbox Code Playgroud)

对我来说,它似乎工作得很完美,但我确信有理由不应该这样做.谢谢你指点我正确的方向!

javascript web-applications touch ios

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

PHP在<a - tag之前添加空格

我需要在每个之前添加一个空格

<a
Run Code Online (Sandbox Code Playgroud)

如果还没有空格,用php中的字符串.

所以这

hello world <a
Run Code Online (Sandbox Code Playgroud)

应该保持原样

但是这个

hello world<a
Run Code Online (Sandbox Code Playgroud)

应该与第一个例子相同.

感谢您的输入!

php regex preg-replace

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

从Google Maps V3中删除"登录"标记

我使用非常着名的Google Map开发了一个应用程序.右上角的"登录"标记会让用户分心,因为我的应用程序有自己的"登录".

允许并且可以删除它吗?!
添加disableDefaultUI: true没有帮助.

登录按钮

google-maps google-maps-api-3

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