小编Leo*_*ang的帖子

这个CSS语句中的"@"是什么意思?

@-webkit-keyframes roll {
    100% { -webkit-transform: rotate(360deg); }
}
Run Code Online (Sandbox Code Playgroud)

"@"和"100%"是什么意思?

css webkit css3

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

用于Node.js中CPU密集型功能的Web Workers vs child_process

我正在尝试使用node-unfluff,它从HTML字符串中提取内容.但是,它通常需要大约200毫秒才能运行.由于它同步运行,这太慢了.我想让它以异步方式运行.

据我所知,我的选择是Web Workers(https://github.com/audreyt/node-webworker-threads)或child_process(https://nodejs.org/api/child_process.html).还有其他更好的选择吗?

如果没有,哪个在速度或其他因素方面更好?

编辑:

还有Threadsàgogo(https://github.com/xk/node-threads-a-gogo)和tiny-worker(https://github.com/avoidwork/tiny-worker).

WebWorker Threads不支持require,因此不再是一个选项.

这是可能的require使用GOGO线程使用它的文件load的功能,但它似乎是一个哈克解决方法.

微型工作者目前在Github只有26颗星,所以我对在生产代码中使用它犹豫不决.它支持require.

child_process如果没有更好的选择,我正在考虑编写自己的WebWorker实现.

javascript web-worker node.js

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

Javascript:如何在不刷新页面的情况下更改地址栏中的URL?

可能重复:
如何使用JavaScript在不加载新页面的情况下更改浏览器中的URL?

我注意到像GMail和GrooveShark这样的网络应用程序可以更改浏览器地址栏中的URL而无需刷新页面.Ajax显然用于更改内容.如何更改网址?

javascript ajax web-applications

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

<input>上HTML5"pattern"属性的Javascript后备

我正在使用HTML5"模式"属性进行客户端验证(请不要告诉我有关服务器端验证的信息,我有这个).我想对使用没有"模式"支持的浏览器的用户使用Javascript或jQuery后备.有什么好办法呢?

这是一个示例输入元素:

<input type=tel name=contact[phone] id=phone required pattern=^(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?$>
Run Code Online (Sandbox Code Playgroud)

html javascript jquery html5

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

如何改进PHP的NONCE库?

这是我第一次使用nonce,所以我从http://fullthrottledevelopment.com/php-nonce-library下载了这个脚本.我不喜欢这些代码,特别是因为该函数有可能被视为无效,因为该函数在定义的时间间隔内工作(默认为300秒).

例如,我们可以在生成随机数的300秒内299秒,因此现时只能工作1秒.

我将库修改为以下函数.我所做的是通过使用检查当前间隔和前一个间隔nonce_create(time()-NONCE_DURATION)==$nonce.有没有办法进一步改善功能?:

define( 'NONCE_UNIQUE_KEY' , '123123' );
define( 'NONCE_DURATION' , 300 );

function nonce_create($time=false){
    if(!$time)
        $time=time();
    $i=ceil($time/(NONCE_DURATION));
    return substr(md5($i.NONCE_UNIQUE_KEY),-12,10);
}

function nonce_is_valid($nonce){
    if (nonce_create()==$nonce || nonce_create(time()-NONCE_DURATION)==$nonce)
        return true;
    return false;
}
Run Code Online (Sandbox Code Playgroud)

另外,我对原始库有两个问题:

  1. 为什么不用NONCE_UNIQUE_KEY?作者是否完全忘了?
  2. 为什么作者在这里除以2:$i = ceil( time() / ( FT_NONCE_DURATION / 2 ) );它只有一半的时间(我试过)

php security

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

使用CSS/Javascript使部分透明度的背景图像变暗

我正在使用部分透明的CSS精灵(即图像中的对象是不透明的,背景是透明的).我想用CSS或Javascript来暗化图像.我需要让图像改变黑暗程度,为每个黑暗级别制作单独的图像是不切实际的.

如果不是透明背景,我可以在图像顶部添加黑色图层并更改该图层的不透明度.

这基本上就是我所拥有的:http://jsfiddle.net/PXU6j/2/

<!-- SO is forcing me to add code -->
<div class=logo>How do I make this darker?</div>
Run Code Online (Sandbox Code Playgroud)

javascript css css3

7
推荐指数
2
解决办法
4万
查看次数

为什么溢出属性会破坏CSS3 3D转换?

我正在尝试制作多个嵌套的3D变换元素.即几个嵌套元素都具有3D变换和transform-style:preserve-3d属性.

但是,当元素具有overflow属性时,其所有祖先都会变平.

例如:

<style>
div{transform-style:preserve-3d;}
</style>

<div style="transform:rotateY(30deg) rotateX(-30deg);">
    <div style="transform:translateZ(30px)">
    <div style="transform:translateZ(30px)">
    <div style="transform:translateZ(30px);overflow:hidden"><!-- everything beyond here is flat -->
    <div style="transform:translateZ(30px)">
    <div style="transform:translateZ(30px)">
    <div style="transform:translateZ(30px)">
    </div>
    </div>
    </div>
    </div>
    </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

小提琴:http://jsfiddle.net/Lqfy3mgs/

我在Chrome和FF中测试了这个.是否有可能使祖先3D即使用overflow

css transform css3 css-transforms

7
推荐指数
2
解决办法
878
查看次数

nbstripout:`diff = ipynb`在.gitattributes中做什么?

我在提交之前使用 nbstripout 删除 Jupyter 输出。nbstripout 生成一个.gitattribute如下所示的文件:

*.ipynb filter=nbstripout

*.ipynb diff=ipynb
Run Code Online (Sandbox Code Playgroud)

这按预期工作,每当 I git statusgit diff、 或时git commit,它不包括 Jupyter 输出。但是,当我删除第二行时,它会执行相同的操作。

在这种情况下做什么*.ipynb diff=ipynb

git jupyter-notebook

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

VS Code:检查文件浏览器是否显示?

我正在使用一个名为commands.executeCommand('revealInExplorer');. 这会将左侧边栏切换到文件资源管理器,然后在文件树中显示当前文件。但是,我希望仅当资源管理器当前可见时才会发生这种情况。例如,当我在搜索视图中时,我不希望扩展调用commands.executeCommand('revealInExplorer');. 我怎样才能做到这一点?

扩展名是“自动折叠浏览器”:

const { window, commands } = require('vscode');

const COLLAPSE = 'workbench.files.action.collapseExplorerFolders';
const REVEAL = 'revealInExplorer';

function activate(context) {
  const subscription = window.onDidChangeActiveTextEditor(showOnlyCurrentFile);
  context.subscriptions.push(subscription);
  showOnlyCurrentFile();
}

async function showOnlyCurrentFile() {
  await commands.executeCommand(COLLAPSE);
  await commands.executeCommand(REVEAL);
  if (!window.activeTextEditor) return;
  window.showTextDocument(window.activeTextEditor.document);
}

function deactivate() {}

module.exports = {
  activate,
  deactivate
};
Run Code Online (Sandbox Code Playgroud)

javascript visual-studio-code

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

React 的新 JSX 运行时使我的包大小变得更大?

根据 React 的博客 ( https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html),Babel有一个新的 JSX 运行时:

根据您的设置,其编译输出可能会稍微改善包的大小。

然而,它使我的包大小增大了 2%。我很好奇,所以我深入研究了输出。开发版本如下所示:

(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxDEV)("div", {})
Run Code Online (Sandbox Code Playgroud)

生产版本如下所示:

(0,a.jsx)("div",{})
Run Code Online (Sandbox Code Playgroud)

在 React 博客的示例中,它们是_jsx函数而不是方法。这可能导致文件大小增加 2%。这是 Webpack 的问题吗?Webpack 是否可以进一步优化这一点?

新的运行时使包变得更大还有哪些其他原因?

javascript reactjs webpack babeljs

7
推荐指数
0
解决办法
567
查看次数