小编Men*_*ndy的帖子

使用JavaScript显示Blob

我正在从数据库中检索Blob图像,我希望能够使用JavaScript查看该图像.以下代码在页面上生成一个损坏的图像图标:

var image = document.createElement('image');
    image.src = 'data:image/bmp;base64,'+Base64.encode(blob);
    document.body.appendChild(image);
Run Code Online (Sandbox Code Playgroud)

这是一个包含所有必需代码的jsFiddle,包括blob.完成的代码应正确显示图像.

javascript base64 blob image

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

将Git-Bash添加到新的Windows终端

我正在尝试将新终端(Git Bash)添加到新的Windows终端,但是无法正常工作。

我尝试将数组中的commandline属性更改为profilesgit-bash.exe但没有运气。

有谁知道如何使它起作用?

提前致谢。

git-bash windows-terminal

41
推荐指数
13
解决办法
9843
查看次数

DateTime类与本机PHP日期函数

DateTime类肯定有一些方便的方法,似乎整体优于像本地的PHP日期函数strtotime,mktime以及strftime(及以上).但是,我不应该使用它有任何缺点或原因吗?

我能想到的唯一原因是创建一个类的整个实例可能比使用一个函数更昂贵.

  • 你同意吗?
  • 将DateTime对象用于简单的东西是否有意义?
  • 还有其他缺点吗?

在这两个选项之间切换似乎有点令人困惑,所以我想要清除我应该做的事情.

我的决定有两个例子:

  • 将日期转换为本地化值
  • 计算两个日期之间的时间

php strtotime

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

:: 用于 shadowDOM 插槽中嵌套子项的插槽 CSS 选择器

CSS::slotted选择器选择<slot>元素的子元素。

但是,当尝试选择像 with ::slotted(*), ::slotted(*) *, or那样的孙子时,选择::slotted(* *)器似乎没有生效。

class MyElement extends HTMLElement {
  constructor() {
    super();
    const shadowRoot = this.attachShadow({mode: 'open'})
    shadowRoot.innerHTML = `
      <style>
        ::slotted(*) {
          display: block;
          border: solid blue 1px;
          padding: 3px;
        }
        ::slotted(*) span {
          display: block;
          border: solid red 1px;
          padding: 3px;
        }
        ::slotted(* span) {
          display: block;
          border: solid green 1px;
          padding: 3px;
        }
      </style>
      <slot></slot>
    `;
  }
}
customElements.define('my-element', MyElement);
Run Code Online (Sandbox Code Playgroud)
<my-element>
  <p>
    <span>Test</span>
  </p>
</my-element> …
Run Code Online (Sandbox Code Playgroud)

css css-selectors web-component shadow-dom custom-element

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

使用 serde 以字符串形式获取枚举变量的名称

我正在尝试获取枚举变体的名称,作为字符串 serde 期望/创建的名称。例如,假设我有以下枚举:

#[derive(Serialize, Deserialize)]
#[serde(rename_all="camelCase")]
pub enum SomeEnum {
    WithoutValue,
    withValue(i32),
}
Run Code Online (Sandbox Code Playgroud)

那么我怎样才能获得变体的 serde 名称呢?就像是

serde::key_name(SomeEnum::WithoutValue) // should be `withoutValue`
serde::key_name(SomeEnum::WithValue)    // should be `withValue`
Run Code Online (Sandbox Code Playgroud)

serde_json对于没有值的变体,我可以使用 , 进行黑客攻击:

serde_json::to_string(SomeEnum::WithoutValue).unwrap(); // yields `"withoutValue"` with quotation marks
Run Code Online (Sandbox Code Playgroud)

这不是最好的解决方案,因为我需要去掉引号,但在技术上可以工作。

更糟糕的是当枚举变量具有值时。它变得更加混乱。

serde_json::to_string(SomeEnum::WithValue(0)).unwrap(); // yields `"{\"second\":0}"
Run Code Online (Sandbox Code Playgroud)

有没有一种干净的方法来实现这一目标?我找不到 serde API 来获取字符串形式的键名。

rust serde serde-json

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

深度克隆类实例 JavaScript

我试图找出一种方法来深度克隆 JS 类实例,同时保留链中的所有原型。

我已经看到了如何深度克隆和对象:

JSON.parse(JSON.stringify(instance))
Run Code Online (Sandbox Code Playgroud)

我已经看到了如何制作类实例的浅拷贝:

Object.assign( Object.create( Object.getPrototypeOf(instance) ), instance)
Run Code Online (Sandbox Code Playgroud)

但我的问题是,有没有办法深度克隆一个类的实例?

javascript ecmascript-6

10
推荐指数
3
解决办法
2202
查看次数

HTML 模板元素与 document.createDocumentFragment

我试图找出使用document.createDocumentFragment与使用 HTML<tamplate>元素之间的区别。

它们在行为或性能上有区别吗?

html javascript

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

将 ::slotted 与伪元素组合

我试图弄清楚将伪元素与::slotted选择器组合在一起有什么用,看起来它适用于某些元素,但不适用于其他元素,而且我找不到任何列出它使用的选择器的文档

这是问题的演示,注意一些伪选择器如何生效,而另一些则不生效

class TestElement extends HTMLElement {
    constructor() {
        super();
        this.attachShadow({mode: 'open'});
        let template = document.querySelector("template");
        this.shadowRoot.append(template.content.cloneNode(true));
    }
}

customElements.define("test-element", TestElement);
Run Code Online (Sandbox Code Playgroud)
<template>
    <style>
        
        ::slotted(*)::first-line { /* doesn't works */
            color: red;
        }
        ::slotted(*):first-letter { /* doesn't works */
            color: red;
        }
        ::slotted(*) {
            max-height: 3em;
            overflow: auto;
        }
        ::slotted(*)::-webkit-scrollbar { /* doesn't works */
            width: 3px;
        }
        ::slotted(*)::-webkit-scrollbar-track { /* doesn't works */
            background-color: red;
        }
        ::slotted(*)::selection { /* doesn't works */
            color: red;
        }
        ::slotted(*)::placeholder { /* …
Run Code Online (Sandbox Code Playgroud)

html css css-selectors shadow-dom custom-element

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

用于 PDF 渲染的 Puppeteer 自定义页眉页脚

我正在致力于渲染网站的 PDF。我希望第一页有不同的页眉和页脚,其余页面也有不同的页眉和页脚。有什么办法可以做到这一点吗?

const puppeteer = require('puppeteer');

(async() => {
 var t = Date.now();
 console.log('Current time ' + t + ' msec'); 

 const browser = await puppeteer.launch({executablePath: 'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe', ignoreHTTPSErrors:true, headless:true, devtools:false});
const page = await browser.newPage();
await page.setViewport({width: 1920, height: 1080});

await page.setExtraHTTPHeaders({'Report-Print-Preview-Mode':'true'});
await page.goto('https://localhost', {waitUntil: 'networkidle2'});
await page.type('#username', 'scott');
await page.type('#password', 'tiger');  
await page.click('[id="login_button"]');

await page.waitForSelector('[id="new_page_table_id"]');
await page.on('console', msg => console.log('PAGE LOG:', msg.text()));

// page.pdf() is currently supported only in headless mode.
// @see https://bugs.chromium.org/p/chromium/issues/detail?id=753118

await page.pdf({
path: …
Run Code Online (Sandbox Code Playgroud)

pdf-generation google-chrome-headless puppeteer

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

如何找到 HTMLAudioElement 音频结束播放

应用程序正在使用 JavaScript 中的 HTMLAudioElement 播放音频剪辑,如下所示,

mySound = new Audio([URLString]);
Run Code Online (Sandbox Code Playgroud)

URL 字符串将根据用户点击不断变化。

有什么方法可以找到 HTMLAudioElement 音频何时完成?我尝试了“结束”属性,但在音频播放完毕后没有调用该函数。

html javascript audio html5-audio web-audio-api

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

角材料设计数据表中的垂直线?

我需要构建一个网格来显示一种数据表,例如Excel文档,是只读的。我是Angular的新手,但我认为必须使用数据表组件。如何在列中放置垂直线?我需要清楚地显示单元格。我无法找到有关此示例。

angular-material angular

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

MYSQL 匹配查询两个表

是否可以使用连接对具有两个表的查询进行匹配?棘手的部分可能是表上的索引,但也许有办法.. sql 不是我的强项。非常感谢。我想它可能是这样的:

SELECT * FROM 'pages' p
LEFT JOIN `tags` t
ON p.id = u.pageid
WHERE MATCH(p.shdescript,t.tag) AGAINST ('romance, relationship')
Run Code Online (Sandbox Code Playgroud)

非常感谢

mysql join against match

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

为什么flush()不立即执行数据?PHP

我正在编写一个PHP脚本,但却陷入了这个问题flush().这是我的脚本:

<?php
    echo "1";
    flush();
    sleep(5);
    echo "2";
?>
Run Code Online (Sandbox Code Playgroud)

我希望我的脚本发送'1',然后等待5秒,然后发送'2'.但相反,脚本等待5秒,然后发送'12'.我正在寻找过去几个小时的答案,但我找不到适合我的答案.

php flush

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