小编Nie*_*sol的帖子

JS专用鼠标按键

我的鼠标侧面有两个按钮,其默认行为是“后退”和“前进”。

我想知道的是是否可以在 JavaScript 中检测这些鼠标按钮的点击,或者这些按钮是否是类似于键盘的“播放”、“音量调高”和“无线开/关”的“特殊”按钮纽扣。

javascript mouse mouseevent

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

HTML属性中的换行符和特殊字符

我的问题很简单:

以下是否有效?即使它是,它会在某些浏览器中破解吗?

<div data-text="Blah blah blah
More blah
And just a little extra blah to finish"> ... </div>
Run Code Online (Sandbox Code Playgroud)

哪些字符"必须"在属性值中编码?我知道"应该是&quot;,但是还有其他任何需要编码的吗?

html

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

location.reload with cache

如果您对此问题有更好的标题,请随时编辑.

在最长的时间里,我总是习惯location.reload()重新加载页面 - 这是最合乎逻辑的事情,对吧?

但我最近注意到它并不等同于我最初想过的F5,而是更多的Ctrl + F5.当我想要做的只是重新加载页面时,所有图像和其他链接文件都是从服务器重新请求的.

我发现我可以使用location.replace(location.href),这似乎达到了我想要的效果:重新加载页面,但从缓存中检索链接的文件.

这是理想的吗?有比这更好的方法吗?我忽略了这种方法可能存在的任何陷阱吗?

(注意:我已经对链接文件(如脚本)进行了缓存管理,方法是将其filemtime作为查询字符串附加)

javascript caching reload

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

强制绝对定位的元素继承透明度

当给定元素时,元素的opacity所有静态和相对子元素都以部分透明度呈现.但是,具有position: absolute(或position: fixed)的元素不会继承此元素,而是以完全不透明度呈现,除非另有说明.

现在,我可以style.opacity通过调用执行赋值的函数来替换赋值,然后循环遍历所有子节点,获取它们的计算样式,并查看它们的位置属性是否保证添加自己的style.opacity...但这有点像核武器.

我也知道我可以添加opacity: inherit适当的元素,但这只有在它们是褪色元素的直接子元素时才有效 - 如果它们是后代呢?

我想知道是否有办法强制元素继承正确的透明度.

旁注:当我使用时filter:alpha(...),IE会以我想要的方式执行,有趣的是.

css opacity

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

如果同一元素的多个类定义了:before伪元素,会发生什么?

我正在使用:before符号来标记用户个人资料的链接以表征用户,例如"管理员","非活动用户","新手"等.

问题是,可以申请不止一个.

那么,如果链接上的多个类定义了一个:before伪元素,会发生content什么?最具体的选择器是否覆盖第一个?或者他们都按顺序出现?无论发生什么,它都是可靠的行为吗?

css css-selectors pseudo-element

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

保存/恢复 PHP 的 rand() 状态

为了防止长时间运行的预渲染脚本中的内存损坏,我希望能够对我的程序说“好的,渲染前 1,000 步”。然后我可以查看输出,检查它等。然后我想说“现在生成步骤 1,001 到 10,000”。

我让它几乎完美地工作。我只有一件事在挣扎。

渲染脚本用于rand()向生成的输出添加熵,并srand()在开始时确保它在重新渲染时保持不变。目前我通过计算rand()被调用的次数来“解决”这个问题,然后在开始实际生成之前调用它很多次。问题在于它可能非常慢,尤其是当我生成了几百万个随机数时。

有什么方法可以确定我需要传递给什么值srand()才能继续生成序列?这甚至可能吗?

如果没有,有没有办法找出rand()正在使用的确切算法?我真的很喜欢我从中获得的地图,srand(43)并希望尽可能保留它!


编辑:使用帕塔舒的回答,这是我想出的:

function rnd() {
    static $seed = 42;
    $seed = $seed*214013+2531011;
    $mod = pow(2,32);
    while($seed > $mod) $seed -= $mod;
    $rs = floor($seed/65536)&0x7fff;
    return floor(2*$rs/0x8000);
}
Run Code Online (Sandbox Code Playgroud)

它依赖于浮点数的使用,因为据我所知,尾数的 51 位很容易以完美的精度存储数字,如果使用位运算符,整数会被截断或环绕。

php random

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

拖放鼠标滚轮?

简短版本:可以在拖放操作中间触发鼠标滚轮事件吗?

长版:

我目前正处于此特定功能的设计阶段,因此我还没有任何代码。我问这个是因为我知道走这条路是否浪费时间,所以我可以设计其他东西。

基本上,我在一侧有一个物品清单,在另一侧有一个篮子。就目前而言,每个项目都有一个输入框和一个按钮,因此您可以输入数量并将其添加到篮子中(反之亦然)。我想添加拖放功能,这样您就可以以一种或另一种方式拖动项目。如果您只想要一个项目,这很好用,但我想添加一种在拖动时调整数量的方法。我想到了鼠标滚轮,因为您一开始就已经在使用鼠标进行拖动了。

因此,在深入研究代码之前,我需要知道是否真的可以在拖动期间接收鼠标滚轮事件,如果可以,我应该在哪里添加侦听器?

javascript drag-and-drop mousewheel

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

检测AJAX请求何时开始

根据我为这个特定项目提供的规范,我同时启动了几十个AJAX请求,并在完成后显示结果以尽快给出响应.

目前我将所有项目显示为"正在加载...",然后在请求完成时逐渐被替换.

由于浏览器的限制,其中只有大约五个实际上在任何给定时间加载,其他的被阻止,直到早期的完成.

我想知道是否有任何方法可以找出块何时结束并且实际发送了请求.

初始测试onreadystatechange用于检测不是很有希望的readyState4- 没有事件在它完成之前被触发,此时我得到2,3并且4立即连续(注意,对于测试,AJAX响应被usleep随机时间人为地延迟)

有任何想法吗?或者是我唯一真正选择手动实现阻止部分?

javascript ajax

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

安全传递密码(堆栈跟踪问题)

我注意到我的dev服务器的php_errors.log文件在我之前的bug修复狂欢之后又重新出现了,但这次我注意到了一些令人不安的事情......

[06-Jan-2016 01:29:29 UTC] PHP致命错误:未捕获PDOException:SQLSTATE [HY000] [2002] /home/niet/public_html/classes/DB.class.php:14
堆栈中没有此类文件或目录trace:
#0 /home/niet/public_html/classes/DB.class.php(14):PDO - > __ construct('mysql:host = loca ...','niet',' MY ACTUAL PASSWORD! ',Array )
#1 /home/niet/public_html/classes/DB.class.php(47):DB :: connect()
#2 ...

不用说,这是一个问题.所以基本上,我的问题很简单:

如何将字符串传递给函数,如果出现错误,它是否会显示在堆栈跟踪中?

为了变得聪明,我尝试了这个:

new PDO(
    "mysql:host=localhost.....",
    "niet",
    new class { public function __toString() { return "correct horse battery staple"; }}
);
Run Code Online (Sandbox Code Playgroud)

当它成功连接到数据库时,抛出的异常(例如错误的密码)仍然显示字符串值,而不是匿名类.如果我使用"普通"类来尝试从跟踪中"隐藏"变量,则会出现类似的问题.

php

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

带变量的SVG过滤器?

我有一个像这样实现的SVG发光过滤器:

<filter id="outline">
    <feMorphology in="SourceAlpha" operator="dilate" radius="2"></feMorphology>
    <feGaussianBlur stdDeviation="1" result="dilated"></feGaussianBlur>
    <feFlood style="flood-color: #RRGGBB"></feFlood>
    <feComposite in2="dilated" operator="in"></feComposite>
    <feMerge>
        <feMergeNode></feMergeNode>
        <feMergeNode in="SourceGraphic"></feMergeNode>
    </feMerge>
</filter>
Run Code Online (Sandbox Code Playgroud)

这很好用,但仅适用于一种特定的发光颜色。

我希望能够具有任意发光颜色,以某种方式将变量传递给flood-color属性。

我曾尝试使用currentColor,但这似乎是定义过滤器时的颜色,而不是应用时的颜色。

可以为每种颜色定义一个过滤器(它们的数量有限),但只需要定义一次会更好——当然也更节省空间。这是可能的,如果可以,如何?

html css svg svg-filters

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