小编Rom*_*man的帖子

Element.getClientRects()何时返回多个对象的集合?

每次调用时Element.getClientRects(),它都会返回一个只有一个DOMRect对象的集合.

什么时候Element.getClientRects()返回多个DOMRect对象的集合?

function handleClick() {
  console.log(event.target.getClientRects())
}
Run Code Online (Sandbox Code Playgroud)
<ul 
  style="border: 1px solid black;" 
  onclick="handleClick()"
>
    <li>Click the text to see in console</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

html javascript css dom object

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

为什么 DOMContentLoaded 处理程序可以阻止首次绘制?

有一个类似的问题没有解决。

我遇到过侦听 DOMContentLoaded 的处理程序可以阻止首次绘制的情况。有时会阻塞,有时不会

我尝试了很多次 cmd + R 来查看它。这种行为有什么解释吗?

我还录制了一段视频来展示这一点:https : //www.youtube.com/watch?v=EDZQ1nLCK2w&feature=youtu.be

  1. 当你在重新加载后看到一个空白页面时,这意味着 DOMContentLoaded 阻止了第一次绘制
  2. 当您看到文本“Some text”然后重新加载后出现空白页面时,这意味着 DOMContentLoaded 没有阻止第一次绘制
window.addEventListener('DOMContentLoaded', () => {
    let i = 0;
    while (i++ < 1000000000) {
        continue;
    }
    document.getElementById('el').remove();
});
Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <p id="el">Some text</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

javascript dom domcontentloaded

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

如何将 Telegram 的 TDlib 与 Node.js 结合使用

TDlib 允许使用 Telegram Client API。

文档表明它可以与几乎任何语言一起使用。

我无法想象自己如何将它与 Node.js 一起使用

您能告诉我从哪里开始或为我提供示例代码吗?

node.js telegram tdlib

5
推荐指数
2
解决办法
9586
查看次数

React中的"更新"是什么?

正如React Documentation所说:

componentDidUpdate() 更新发生后立即调用

但我注意到componentDidUpdate()即使浏览器DOM元素没有更新也会被调用.

那么,React文档通过更新意味着什么呢?

javascript reactjs

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

为什么百分比填充会破坏我的弹性项目?

我有一个<ul>元素,它是一个弹性项目。这个<ul>元素包含几个<li>不是弹性项目的元素。当我向<li>元素添加百分比填充时,元素<ul>被分成几行,如照片中所示: 在此处输入图片说明

当我设置固定填充(如 30px)时,<ul>元素显示在一行中: 在此处输入图片说明

所以,我的问题是:为什么百分比填充会这样<ul>表现? PS:我不需要解决方案来修复它,我只需要对行为的解释

li {
  display: inline-block;
  padding: 0 5%;
  /* padding: 0 30px; */
  border: 1px solid black;
}

header {
  display: flex;
}

ul {
  border:1px solid red;
}
Run Code Online (Sandbox Code Playgroud)
<header>
  <ul>
    <li>Library</li>
    <li>Telegram channel</li>
    <li>Contacts</li>
    <li>Donate</li>
  </ul>
</header>
Run Code Online (Sandbox Code Playgroud)

html css flexbox

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

为什么使用getClientRects()的相同代码会产生不同的结果?

我有下面的代码片段.如果按"运行代码段",则会看到以下内容

1 - p.getClientRects().length

2 - span.getClientRects().length

但是如果你先按"扩展片段",然后按"运行代码片段",那么你会看到一些不同的结果:

1 - p.getClientRects().length

1 - span.getClientRects().length

我只想了解Element.getClientRects()方法.但是这种情况让我崩溃了.你能解释为什么会产生不同的结果吗?

我的浏览器是:Chrome版本67.0.3396.99(官方版本)(64位)

var p = document.querySelector('p');
var span = document.querySelector('span');

console.log(p.getClientRects().length, "- p.getClientRects().length");
console.log(span.getClientRects().length, "- span.getClientRects().length");
Run Code Online (Sandbox Code Playgroud)
p {
  border: 1px solid green;
}
span {
  border: 1px solid red;
}
Run Code Online (Sandbox Code Playgroud)
<p>
  This is a paragraph with
  <span>Span Element having a looooooooooooooooooooooo nnnnnnnnnnnnnnnnnnnn ggggggggggggggggg text</span>
</p>
Run Code Online (Sandbox Code Playgroud)

html javascript css

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

为什么在我的示例中flex-shrink表现为这种方式?

您能给我解释一下这里的情况吗?(如果可能,请附上CSS规范的链接)

当我在#grid-container()上将flex-shrink设置为0时,出现了整个页面的滚动条flex: 1 0 auto

但是,当我在#grid-container()上将flex-shrink设置为1时,条形滚动条仅针对#grid-container出现flex: 1 1 auto

#grid-container上的flex-shrink下面的代码段中,将其设置为0()。将其更改为1()以查看差异flex: 1 0 autoflex: 1 1 auto

html {
  height: 100%;
}

body {
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0;
}

#header {
  background-color: brown;
  flex: 0 0 100px;
}

#grid-container {
  flex: 1 1 auto;
  display: grid;
  overflow: hidden;
  grid-template-rows: 1fr;
  grid-template-columns: 1fr; 
} …
Run Code Online (Sandbox Code Playgroud)

html css css3 flexbox

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

Youtube的“滚动详细信息”功能如何工作?

Youtube推出了新功能-在全屏模式下观看视频时可以滚动页面(下方是屏幕)。

我的网站上有一个html5播放器,并希望在全屏模式下实现相同的滚动。

目前,我不知道Youtube是如何做到的。有人可以向我解释吗? 在此处输入图片说明

javascript html5

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

弹性框项目的显示属性的使用

更改弹性框项目的显示属性有什么好处或理由吗?

特别是,我对使用display:block和感兴趣display:inline-block

css flexbox

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

打字稿错误:此表达式不可调用。类型 'typeof import("koa-session")' 没有调用签名

部分解决:

github上有一个老问题,对这个问题进行了一些描述。当您在全局范围内声明模块时,它会重写整个导出模块的类型。当你在一个模块中声明一个模块时,它会合并。为什么?我不知道

https://github.com/microsoft/TypeScript/issues/17736#issuecomment-344353174

我想通过接口合并来扩展第三方模块的类型。一切正常,但是当我export {};types.d.ts 中发表评论时 ,我遇到以下错误:

此表达式不可调用。类型 'typeof import("koa-session")' 没有调用签名

你能解释一下为什么会这样吗?

您可以在此处查看工作代码:https : //codesandbox.io/s/typescript-node-nocfq?file=/src/types.d.ts

node.js typescript

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

公共 smtp 服务器和 DNS-MX 记录有什么区别?

让我们从一个例子开始:

Gmail SMTP服务器地址是(下面我将其称为公开):

smtp.gmail.com

但如果我们查看 gmail.com 的 DNX-MX 记录,我们将看到以下地址:

alt4.gmail-smtp-in.l.google.com。
alt2.gmail-smtp-in.l.google.com。
alt1.gmail-smtp-in.l.google.com。
gmail-smtp-in.l.google.com。
alt3.gmail-smtp-in.l.google.com。

  1. 公共地址和 DNS-MX 地址有什么区别?

  2. 为什么 Gmail 不在 DNS-MX 地址中使用 smtp.gmail.com?

  3. 为什么 Gmail 不使用 DNS-MX 地址作为公共地址?

email smtp

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

为什么自定义函数会创建错误,但console.log不会出现点击事件?

我有两个相同的<div>元素和不同的侦听器onClick事件.

function onclick() {
    console.log("onclick");
}
Run Code Online (Sandbox Code Playgroud)
.some-styles {
  margin: 10px;
  border: 1px solid black;
}
Run Code Online (Sandbox Code Playgroud)
<div 
  id="fisrt" 
  class="some-styles" 
  onclick="onclick()"
>
  Click the text to see in the console
</div>
<div 
  id="second" 
  class="some-styles" 
  onclick="console.log('without error')"
>
  Click the text to see in the console
</div>
Run Code Online (Sandbox Code Playgroud)

#first <div>使用自定义功能,onclick()它创建Uncaught RangeError: Maximum call stack size exceeded

#second <div>使用console.log()功能,不会产生任何错误.

关于以上信息,我有一个问题:

1)为什么自定义函数会创建错误而console.log不会?

javascript

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