小编Pri*_*Nom的帖子

一旦元素突破父母的宽度,元素就会丢失所有宽度

为什么以下示例中的元素会自行折叠?

即使元素设置为box-sizing: border-box,它的边框也会保留,但是一旦元素突破其父级的边界,该元素就会丢失其全部宽度.

到底是怎么回事?

CODEPEN

let   t = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus at velit commodo, facilisis ex vitae, viverra tellus.'
let   c = 0
const e = document.getElementById('statement-container')
const i = setInterval(function(){
  if (t[c] !== ' ') e.innerHTML += t[c]
  else e.innerHTML += ' '
  c++
  if (c >= t.length) clearInterval(i)
}, 100)
Run Code Online (Sandbox Code Playgroud)
* {
  box-sizing : border-box;
}

body {
  width       : 100vw;
  height      : 100vh;
  margin      : 0;
}

section:first-child {
  width …
Run Code Online (Sandbox Code Playgroud)

html css html5 css3

6
推荐指数
1
解决办法
117
查看次数

webContents.send 和 ipcRenderer.on 不工作

我对 NodeJS 很陌生,但我对 vanilla JS 有很多经验。

在下面的代码中,我到底做错了什么?

console.log在应用程序的开发者控制台中没有任何内容,所以我假设通信渠道以某种方式中断了?

它与readdir异步的事实有什么关系吗?

索引.js

fs.readdir(__dirname, (err, files)=>{
  files.forEach((file, index)=>{
    console.log('display', __dirname+'\\'+file) // this prints everything as expected
    mainWindow.webContents.send('display', __dirname+'\\'+file)
    // mainWindow.send(...) doesn't work either
  })
})
Run Code Online (Sandbox Code Playgroud)

索引.html

const electron = require('electron')
const {ipcRenderer} = electron
const con = document.getElementById('con')

ipcRenderer.on('display', (e, arg)=>{
  const div = document.createElement('div')
  const txt = document.createTextNode(arg)
  div.appendChild(txt)
   con.appendChild(div)

   console.log(e)   // neither this
   console.log(arg) // nor this prints anything to the app's developer console
 })
Run Code Online (Sandbox Code Playgroud)

这是包含所有代码的CODEPEN …

events ipc node.js electron

6
推荐指数
1
解决办法
6571
查看次数

一种计数响应网格中的列的方法

尽管我还没有找到答案,但问题很简单:除了蛮力之外,还有什么方法 可以计算响应网格中的列数?

#grid-container {
  width: 100%;
  height: 85%;
  position: relative;
  padding: var(--gap); /* adjusted with JS to make var(--gap) responsive */
  display: grid;
  grid-gap: var(--gap); /* adjusted with JS to make var(--gap) responsive */
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  box-sizing: border-box;
  background: skyblue;
}

.grid-item {
  width: 100%;
  min-width: 120px;
  max-width: 450px;
  height: ; /* adjusted with JS on resize events to roughly maintain proportions */
  min-height: 192px;
  border-radius: 10px;
  background: #333;
}
Run Code Online (Sandbox Code Playgroud)

我问的原因是因为我给网格项目a max-width导致了最后一个断点处的巨大间隙,我希望能够检测到该间隙,而不是设置显式的媒体查询。

在此处输入图片说明

javascript css css3 grid-layout css-grid

6
推荐指数
2
解决办法
191
查看次数

在 Electron 中本地运行非内联 JS

在本地开发时,我想将所有单独的 JS 脚本作为文件保存在另一个文件夹中。我能够做到这一点的唯一方法是我不声明该meta声明。但是,通过不声明它,我当然会收到警告。

电子安全警告(不安全的内容安全策略)此渲染器进程没有设置内容安全策略或启用了“不安全评估”的策略。这使此应用程序的用户面临不必要的安全风险。

有没有办法在不忽略或违反 CSP 的情况下在本地执行此操作?

javascript node.js content-security-policy electron

6
推荐指数
1
解决办法
4910
查看次数

classinfo类型列表

我正在寻找的只是可能值的列表,classinfo因为该文档未提供任何值,而且我似乎无法在线找到其他任何位置,更不用说SO了。

python types class isinstance python-3.x

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

子串、切片、其他?

根据MDN 的说法, substr它被认为是最终可能被弃用的遗留代码。

因此我想知道是否substringslice适合将字符串插入到特定索引处的其他字符串中?

或者是否有另一种方法实际上是为了这个目的?

我正在做的是通过 检测用户输入keydown,然后在某些情况下,拦截并推断以手动传递值。

input.onkeydown = function(e){
  if (e.key === 'x'){
    return false
  }
  this.value = // insert character at this.selectionEnd into this.value
  return false
}
Run Code Online (Sandbox Code Playgroud)

我这样做的原因是这样我可以管理和限制用户输入,同时保证输出以特定方式格式化。换句话说,用户不必格式化他/她的输入。

javascript string insert

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

获取所有平台上所有驱动器的已用/可用磁盘空间

我正在创建一个 Electron 应用程序来帮助我管理磁盘空间。不过,我希望它也能在 Linux/UNIX 上运行。

我编写了以下代码,该代码适用于 Windows,但不适用于 Linux/UNIX 系统。

window.onload = function(){
  const cp = require('child_process')
  cp.exec('wmic logicaldisk get size,freespace,caption', (error, stdout)=>{
    let drives = stdout.trim()split('\r\r\n')
      .map(value => value.trim().split(/\s{2,0}/))
      .slice(1)
  })
}
Run Code Online (Sandbox Code Playgroud)

输出看起来像这样。

[
  ["560232439808",  "C:", "999526756352",  "System"  ]
  ["999369699328",  "D:", "999558213632",  "SSD"     ]
  ["1511570386944", "E:", "8001545039872", "Get"     ]
  ["4620751712256", "F:", "8001545039872", "BR"      ]
  ["788449492992",  "G:", "4000650883072", "Seen"    ]
  ["2296009408512", "H:", "4000768323584", "Seen 2"  ]
  ["3594248679424", "I:", "8001545039872", "2160"    ]
  ["3507750227968", "J:", "8001545039872", "1080"    ]
  ["945300619264",  "K:", "999625322496",  "Trailer" ] …
Run Code Online (Sandbox Code Playgroud)

javascript unix linux node.js electron

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

反转 CSS 变量的像素值

我使用 CSS 变量,这样我就可以轻松地进行彻底的更改。我的变量之一是--gap: 15px,到目前为止我已经使用了大约 15 次。但是,我现在需要使用 的反转值--gap,即-15px

失败:

  1. calc(0 - var(--gap))
  2. calc(var(--gap) * -1)

作品:

  1. calc(var(--gap) - calc(var(--gap) * 2))

问题:

  • 第一次尝试显然是最有说服力的,但为什么不起作用呢?

  • 有没有比第三种方法更雄辩的方法来实现这一目标?

css css-variables

4
推荐指数
1
解决办法
5747
查看次数

在 Node v12.13.0 中未调用 fsPromises.writeFile 回调

无论出于何种原因,fs.promises没有调用 for 的回调,但文档没有提到只有在出现错误时才调用它,这就是我假设会发生的情况......

fsp.writeFile('test.txt', 'callback doesnt work', 'utf8', (error) => {
  console.log('callback is never called')
  if (error) console.error(error)
})
Run Code Online (Sandbox Code Playgroud)

这在 Node.js 版本 12.13.0 上发生(或没有发生,哈哈)。

有人知道这是什么交易吗?

filesystems fs node.js promise

4
推荐指数
1
解决办法
814
查看次数

随机生成曲线/波浪路径

我有一张比视口大得多并以视口为中心的地图的大量图像,用户可以通过拖动屏幕来探索它。为了创造视差效果,我在前景中使用了大量云彩图像。当用户通过拖动探索地图时,背景和前景都以视差方式移动。到现在为止还挺好。

然而,我真正想要做的是给云的图像一个“默认”移动,它会在每次页面加载时随机生成,这样云就会一直移动,即使用户没有拖动。我知道这可以通过沿着路径动画前景来完成,但我不确定如何去做。

如何在每个页面加载时随机生成不规则弯曲波浪路径?

有人知道任何可以做到这一点的算法吗?

algorithm canvas path html5-canvas

3
推荐指数
2
解决办法
156
查看次数

是否可以清除密码输入?

我清理用户名输入如下:

function clean($data) {
  $data = trim($data);
  $data = stripslashes($data);
  $data = htmlspecialchars($data);
  return $data;
}
Run Code Online (Sandbox Code Playgroud)

我正在使用PDO格式的预准备语句并散列密码,所以是否仍然建议清理密码输入?

下面是代码.要注意,从现在开始它还没有完成,也非常混乱.

<?php
  // start session
  session_start();
?>
<!DOCTYPE html>
<head>
  <link href='css/verify-id.css' rel='stylesheet'>
</head>
<body>
<?php
function clean($data) {
  $data = trim($data);
  $data = stripslashes($data);
  $data = htmlspecialchars($data);
  return $data;
}

if ($_SERVER['REQUEST_METHOD'] === 'POST') {

  // set or enter password
  if (isset($_POST['password']) && empty($_POST['password'])) {

    $error    = 'A password is required.';
    $identity = '';
    $tip      = '';
    $prompt   = '';

  } else …
Run Code Online (Sandbox Code Playgroud)

php security pdo

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

从美元数字中提取仅数字

我想要做的只是从美元数字中提取数字.

输入格式

...
$1,289,868
$62,000
$421
...
Run Code Online (Sandbox Code Playgroud)

期望的输出

...
1289868
62000
421
...
Run Code Online (Sandbox Code Playgroud)



我用来提取数字和逗号的正则表达式是:

r'\d+(,\d+){0,}'

哪个当然输出......

...
1,289,868
62,000
421
...
Run Code Online (Sandbox Code Playgroud)

我想要做的是将输出转换为整数(int(...)),但显然这不适用于逗号.我相信我可以自己解决这个问题,但我现在的运行时间非常短.

我知道我可以简单地使用r'\d+',但这显然将每个块分成单独的匹配...

python regex

0
推荐指数
1
解决办法
69
查看次数

错误:'NoneType'对象没有属性'split',尽管'if ... is not None'语句

出于某种原因,我的Scrapy蜘蛛抛出一个错误,这与输出混淆,即使我使用条件语句来防止这种情况.

脚本

import scrapy

class AmazonSpider(scrapy.Spider):
    name = 'amazon'
    def start_requests(self):
        pages = ['https://www.amazon.ca/electronics-deals-electronics-sale-tv-sale/b/ref=sv_ce_0?ie=UTF8&node=2055586011']
        yield scrapy.Request(url=pages[0], callback=self.parse)
    def parse(self, response):
        if response.status != 404:
            cont_path = '//div[@class="a-row a-spacing-none"]/span[@class="a-size-small a-color-secondary a-text-strike"]/ancestor::div[@class="s-item-container"]'
            cont_resp = response.xpath(cont_path).extract()
            for idx in range(1, len(cont_resp)+1):
                thrd_path = '(//div[@class="a-row a-spacing-none"]/span[@class="a-size-small a-color-secondary a-text-strike"]/ancestor::div[@class="s-item-container"])[' + str(idx) + ']/div[@class="a-row a-spacing-mini"][2]/div[4]/a/span[2]/text()'
                thrd_resp = response.xpath(thrd_path).extract_first()
                ### i have also tried:
                # != None
                # and hasattr(thrd_resp, 'split')
                if thrd_resp is not None:
                    obj['thrd_resp'] = float(pric_resp.split()[1])
                ###
                yield obj
Run Code Online (Sandbox Code Playgroud)

日志

AttributeError: 'NoneType' object has …

python scrapy python-2.7 python-3.x

-1
推荐指数
1
解决办法
324
查看次数