10个鲜为人知但很有用的Web API

Lesser Known but Useful Web APIs

文章目录

  • 10个鲜为人知但很有用的Web API
    • Fullscreen
    • Clipboard
    • Resize Observer
    • Image Capture
    • Broadcast Channel
    • performance
    • Battery Status
    • Network Information
    • Navigator.vibrate
    • BlueTooth

Fullscreen

对指定元素进行全屏展示

<div className="wrapper"><div id="fs_id"><img src="path/to/santa.jpg" alt="santa" /></div><button onclick="manageFullscreen()">Enter Fullscreen with Santa</button>
</div>
function manageFullscreen () {document.getElementById('fs_id').requestFullscreen();
}

检查浏览器是否支持

if (document.fullscreenEnabled) {// supported
} else {// not supported
}

监听事件

  • onfullscreenchange:全屏变化事件
  • onfullscreenerror:全屏失败事件

demo

Clipboard

检查是否支持

if (navigator.clipboard && navigator.clipboard.read && navigator.clipboard.write) {// supported
} else {// not supported
}

将内容写入剪贴板

async function performCopy(event) {event.preventDefault();try {await navigator.clipboard.writeText(copyText);console.log(`${copyText} copied to clipboard`);} catch (err) {console.error('Failed to copy: ', err);}
}
// 该方法不需要用户许可,但是最好也放在try...catch里面防止报错。

从剪贴板读取内容并对其进行处理

async function performPaste(event) {event.preventDefault();try {const text = await navigator.clipboard.readText();document.querySelector('#output').value = text;console.log('Pasted content: ', text);} catch (err) {console.error('Failed to read clipboard contents: ', err);}
// 用户点击页面后,就会输出剪贴板里面的文本。注意,浏览器这时会跳出一个对话框,询问用户是否同意脚本读取剪贴板。
// 如果用户不同意,脚本就会报错。这时,可以使用try...catch结构,处理报错。
}

由于用户可能把敏感数据(比如密码)放在剪贴板,允许脚本任意读取会产生安全风险,所以这个 API 的安全限制比较多。
首先,Chrome 浏览器规定,只有 HTTPS 协议的页面才能使用这个 API。不过,开发环境(localhost)允许使用非加密协议。
其次,调用时需要明确获得用户的许可。权限的具体实现使用了 Permissions API,跟剪贴板相关的有两个权限:clipboard-write(写权限)和clipboard-read(读权限)。"写权限"自动授予脚本,而"读权限"必须用户明确同意给予。也就是说,写入剪贴板,脚本可以自动完成,但是读取剪贴板时,浏览器会弹出一个对话框,询问用户是否同意读取。
另外,需要注意的是,脚本读取的总是当前页面的剪贴板。这带来的一个问题是,如果把相关的代码粘贴到开发者工具中直接运行,可能会报错,因为这时的当前页面是开发者工具的窗口,而不是网页页面。

demo

Resize Observer

window.onresize事件通常是浪费的,因为它会监听每个元素的大小变化(只有window对象才有resize事件),而不是具体到某个元素的变化。如果我们只想监听某个元素的变化的话,这种操作就很浪费性能了。
ResizeObserver API就可以帮助我们:监听一个DOM节点的变化,这种变化包括但不仅限于:

  • 某个节点的出现和隐藏
  • 某个节点的大小变化
const myObserver = new ResizeObserver(entries => {entries.forEach(entry => {console.log('大小位置', entry.contentRect)console.log('监听的DOM', entry.target)});
});// 监听DOM元素 一个ResizeObserver对象可监听多个DOM节点
myObserver.observe(document.body);
myObserver.observe(document.querySelector('#app'));// 取消监听
window.setTimeout(() => {myObserver.unobserve(document.body);   // 需要接收一个参数
}, 2000)// 取消全部监听
window.setTimeout(() => {myObserver.disconnect()    // 此时就不会再监听document.body,和#app节点了
}, 4000)
  • ResizeObserverEntry
    • target 被监听的DOM对象
    • contentRect
      • width:指元素本身的宽度,不包含padding,border值
      • height:指元素本身的高度,不包含padding,border值
      • top:指padidng-top的值
      • left:指padding-left的值
      • right:指left + width的值
      • bottom: 值top + height的值
      • x:大小与top相同,y:大小与left相同

demo

Image Capture

ImageCapture 接口提供了从相机或其他摄影设备捕获图像或抓取帧的方法。它提供了一个接口,用于从通过有效.MediaStreamTrack

var imageCapture;function onGetUserMediaButtonClick() {navigator.mediaDevices.getUserMedia({video: true}).then(mediaStream => {document.querySelector('video').srcObject = mediaStream;const track = mediaStream.getVideoTracks()[0];imageCapture = new ImageCapture(track);}).catch(error => console.log(error));
}function onGrabFrameButtonClick() {imageCapture.grabFrame().then(imageBitmap => {const canvas = document.querySelector('#grabFrameCanvas');drawCanvas(canvas, imageBitmap);}).catch(error => console.log(error));
}function onTakePhotoButtonClick() {imageCapture.takePhoto().then(blob => createImageBitmap(blob)).then(imageBitmap => {const canvas = document.querySelector('#takePhotoCanvas');drawCanvas(canvas, imageBitmap);}).catch(error => console.log(error));
}/* Utils */function drawCanvas(canvas, img) {canvas.width = getComputedStyle(canvas).width.split('px')[0];canvas.height = getComputedStyle(canvas).height.split('px')[0];let ratio  = Math.min(canvas.width / img.width, canvas.height / img.height);let x = (canvas.width - img.width * ratio) / 2;let y = (canvas.height - img.height * ratio) / 2;canvas.getContext('2d').clearRect(0, 0, canvas.width, canvas.height);canvas.getContext('2d').drawImage(img, 0, 0, img.width, img.height, x, y, img.width * ratio, img.height * ratio);
}document.querySelector('video').addEventListener('play', function() {document.querySelector('#grabFrameButton').disabled = false;document.querySelector('#takePhotoButton').disabled = false;
});

Broadcast Channel

Broadcast Channel API 允许浏览器上下文(窗口、选项卡、iframes)和同一来源的工作组之间进行通信。

// 发送
const CHANNEL_NAME = "greenroots_channel";
const bc = new BroadcastChannel(CHANNEL_NAME);
const message = 'I am wonderful!';const sendMessage = () => {bc.postMessage(message);
}
// 接收
const CHANNEL_NAME = "greenroots_channel";
const bc = new BroadcastChannel(CHANNEL_NAME);bc.addEventListener('message', function(event) {
console.log(`Received message, "${event.data}", on the channel, "${CHANNEL_NAME}"`);
const output = document.getElementById('msg');
output.innerText = event.data;
});

performance

Performance 是前端性能监控的API。
performance 包含三个对象,分别为 memorynavigationtiming . 其中 memory 是和内存相关的,navigation是指来源相关的,也就是说从那个地方跳转过来的。timing是关键点时间。

const performance = window.performance || window.msPerformance || window.webkitPerformance;
if(performance) {console.log(performance);
}

performance.memory 含义是显示此刻内存占用的情况

  • jsHeapSizeLimit该属性代表的含义是:内存大小的限制。
  • totalJSHeapSize表示 总内存的大小。
  • usedJSHeapSize表示可使用的内存的大小。

如果 usedJSHeapSize 大于 totalJSHeapSize的话,那么就会出现内存泄露的问题,因此是不允许大于该值的。

performance.navigation 含义是页面的来源信息,该对象有2个属性值,分别是:redirectCount 和 type。

  • redirectCount:该值的含义是:如果有重定向的话,页面通过几次重定向跳转而来,默认为0;
  • type:该值的含义表示的页面打开的方式。默认为0. 可取值为0、1、2、255.
    • 0(TYPE_NAVIGATE):表示正常进入该页面(非刷新、非重定向)。
    • 1(TYPE_RELOAD):表示通过 window.location.reload 刷新的页面。如果我现在刷新下页面后,再来看该值就变成1了。
    • 2(TYPE_BACK_FORWARD ):表示通过浏览器的前进、后退按钮进入的页面。如果我此时先前进下页面,再后退返回到该页面后,查看打印的值,发现变成2了。
    • 255(TYPE_RESERVED):表示非以上的方式进入页面的。

performance.onresourcetimingbufferfull 的含义是在一个回调函数。该回调函数会在浏览器的资源时间性能缓冲区满了的时候会执行的。

performance.timeOrigin 是一系列时间点的基准点,精确到万分之一毫秒。如上截图该值为:1559526951495.139,该值是一个动态的,刷新下,该值是会发生改变的。

performance.timing 是一系列关键时间点,它包含了网络、解析等一系列的时间数据。

timing

按照如上图的顺序,我们来分别看下各个字段的含义如下:

  • navigationStart 含义为同一个浏览器上一个页面卸载结束时的时间戳。如果没有上一个页面的话,那么该值会和fetchStart的值相同。
  • redirectStart 该值的含义是第一个http重定向开始的时间戳,如果没有重定向,或者重定向到一个不同源的话,那么该值返回为0.
  • redirectEnd 最后一个HTTP重定向完成时的时间戳。如果没有重定向,或者重定向到一个不同的源,该值也返回为0.
  • fetchStart 浏览器准备好使用http请求抓取文档的时间(发生在检查本地缓存之前)。
  • domainLookupStart DNS域名查询开始的时间,如果使用了本地缓存话,或 持久链接,该值则与fetchStart值相同。
  • domainLookupEnd DNS域名查询完成的时间,如果使用了本地缓存话,或 持久链接,该值则与fetchStart值相同。
  • connectStart HTTP 开始建立连接的时间,如果是持久链接的话,该值则和fetchStart值相同,如果在传输层发生了错误且需要重新建立连接的话,那么在这里显示的是新建立的链接开始时间。
  • secureConnectionStart HTTPS 连接开始的时间,如果不是安全连接,则值为 0
  • connectEnd HTTP完成建立连接的时间(完成握手)。如果是持久链接的话,该值则和fetchStart值相同,如果在传输层发生了错误且需要重新建立连接的话,那么在这里显示的是新建立的链接完成时间。
  • requestStart http请求读取真实文档开始的时间,包括从本地读取缓存,链接错误重连时。
  • responseStart 开始接收到响应的时间(获取到第一个字节的那个时候)。包括从本地读取缓存。
  • responseEnd HTTP响应全部接收完成时的时间(获取到最后一个字节)。包括从本地读取缓存。
  • unloadEventStart 前一个网页(和当前页面同域)unload的时间戳,如果没有前一个网页或前一个网页是不同的域的话,那么该值为0.
  • unloadEventEnd 和 unloadEventStart 相对应,返回是前一个网页unload事件绑定的回调函数执行完毕的时间戳。
  • domLoading 开始解析渲染DOM树的时间。
  • domInteractive 完成解析DOM树的时间(只是DOM树解析完成,但是并没有开始加载网页的资源)。
  • domContentLoadedEventStart DOM解析完成后,网页内资源加载开始的时间。
  • domContentLoadedEventEnd DOM解析完成后,网页内资源加载完成的时间。
  • domComplete DOM树解析完成,且资源也准备就绪的时间。Document.readyState 变为 complete,并将抛出 readystatechange 相关事件。
  • loadEventStart load事件发送给文档。也即load回调函数开始执行的时间,如果没有绑定load事件,则该值为0.
  • loadEventEnd load事件的回调函数执行完毕的时间,如果没有绑定load事件,该值为0.

如上就是各个值的含义了,大家简单的看下,了解下就行了,不用过多的折腾。在使用这些值来计算白屏时间、首屏时间、用户可操作的时间节点,页面总下载的时间、DNS查询的时间、TCP链接的时间等之前,我们可以先看下传统方案是如何做的?

Battery Status

提供了有关系统充电级别的信息并提供了通过电池等级或者充电状态的改变提醒用户的事件。 这个可以在设备电量低的时候调整应用的资源使用状态,或者在电池用尽前保存应用中的修改以防数据丢失。

navigator.getBattery().then((battery) => {console.log(battery);// handle the charging change eventbattery.addEventListener("chargingchange", () => {console.log("Battery charging? " + (battery.charging ? "Yes" : "No"));});// handle charge level changebattery.addEventListener("levelchange", () => {console.log("Battery level: " + battery.level * 100 + "%");});// handle charging time changebattery.addEventListener("chargingtimechange", () => {console.log( "Battery charging time: " + battery.chargingTime + " seconds");});// handle discharging time changebattery.addEventListener("dischargingtimechange", () => {console.log("Battery discharging time: " + battery.dischargingTime + " seconds");});});

Network Information

提供有关Network Information API网络类型(例如,“wifi”、“蜂窝”等)、保存数据模式、带宽等的信息。

console.log(navigator.connection);
// NetworkInformation
// downlink: 10
// effectiveType: "4g"
// onchange: null
// rtt: 50
// saveData: false
  • NetworkInformation.downlink 只读
    返回以每秒兆比特为单位的有效带宽估计值,四舍五入到最接近的每秒 25 千比特的倍数。

  • NetworkInformation.downlinkMax 只读
    返回底层连接技术的最大下行链路速度,以每秒兆位 (Mbps) 为单位。

  • NetworkInformation.effectiveType 只读
    返回连接的有效类型,表示“slow-2g”、“2g”、“3g”或“4g”之一。该值是使用最近观察到的往返时间和下行链路值的组来确定的。

  • NetworkInformation.rtt 只读
    返回当前连接的估计有效往返时间,四舍五入到最接近的 25 毫秒的倍数。

  • NetworkInformation.saveData 只读
    如果用户在用户代理上设置了减少数据使用选项,则返回true

  • NetworkInformation.type 只读
    返回设备用于与网络通信的连接类型。它将是以下值之一:

    • bluetooth
    • cellular
    • ethernet
    • none
    • wifi
    • wimax
    • other
    • unknown
  • NetworkInformation.onchange 事件
    当连接信息更改并且change在此对象上触发时触发的事件。

Navigator.vibrate

Navigator.vibrate() 方法使设备(有震动硬件)产生有频率的震动。若设备不支持震动,该方法将无效。若某震动方式已经在进行中(当该方法调用时),则前一个震动方式停止,新的取而代之。

该方法若因为提供无效的参数使得无法使设备震动,它将返回false,否则返回true。若振动方案导致长时间的震动,它会被截断:最大震动时长取决于每个浏览器的具体实现。

var successBool = window.navigator.vibrate(pattern);
  • pattern
    提供一个震动、暂停间隔的模式。每一个值表示交替震动或者暂停的毫秒数。你可以提供一个单个的值(震动一次的毫秒数)或者一个包含整数的数组来交替的震动、暂停、震动。
window.navigator.vibrate(200); // vibrate for 200ms
window.navigator.vibrate([100,30,100,30,100,200,200,30,200,30,200,200,100,30,100,30,100]); // Vibrate 'SOS' in Morse.

BlueTooth

此 Web API 允许您连接到蓝牙设备。

navigator.bluetooth.requestDevice({acceptAllDevices: true
}).then(device => {            setDeviceName(device.name);setDeviceId(device.id)setDeviceConnected(device.connected);
}).catch(err => {console.log(err);setError(true);
})

语法

Bluetooth.requestDevice(options).then(function(bluetoothDevice) { ... })
  • options
    设置设备请求选项的对象. 可用的选项是:
    • filters[]: 一个BluetoothScanFilters数组。 此过滤器由一个BluetoothServiceUUID数组,一个名称参数和一个namePrefix参数组成。
    • optionalServices[]: 一个BluetoothServiceUUID数组。
    • acceptAllDevices: boolean 表示请求脚本可以接受所有蓝牙设备。 默认值为false。
查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 【云售前工具】在线绘图工具推荐

    推荐一款非常实用的在线架构图工具&#xff0c;对于云售前工作有很大的帮助&#xff1b;第一&#xff1a;在线工具&#xff0c;不局限设备软件安装和版权问题。第二&#xff1a;ICON图标元素齐全&#xff0c;作图方便&#xff0c;特别是云产品图标。第三&#xff1a;易保存和共…...

    2024/5/9 6:31:11
  2. 1.1MYSQL逻辑架构

    第一层&#xff1a;客户端 第二层&#xff1a;查询解析、分析、优化、缓存以及所有的内置函数等&#xff0c;所有跨存储引擎的功能都在这一层实现&#xff1a;存储过程、触发器、视图等 连接/线程处理 查询缓存        解析器                   优化器 第三层…...

    2024/5/9 1:31:07
  3. 二叉树的坡度

    二叉树的坡度 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNode right) {* …...

    2024/5/8 16:22:59
  4. Argparse教程

    基础 import argparse parser argparse.ArgumentParser() parser.parse_args()位置参数 import argparse parser argparse.ArgumentParser() parser.add_argument("echo", help"echo the string you use here") args parser.parse_args() print(args.…...

    2024/5/3 9:02:11
  5. 是否可以从一个静态(static)方法内部发出对非静态(non-static)方法的调用

    不可以&#xff0c;静态方法只能访问静态成员&#xff0c;因为非静态方法的调用要先创建对象&#xff0c;因此在调用 静态方法时可能对象并没有被初始化。...

    2024/5/8 20:37:00
  6. vue项目使用websocket技术

    vue项目使用websocket技术 一、为什么需要websocket&#xff1f; 前端和后端的交互模式最常见的就是前端发数据请求&#xff0c;从后端拿到数据后展示到页面中。如果前端不做操作&#xff0c;后端不能主动向前端推送数据&#xff0c;这也是http协议的缺陷。 因此&#xff0c…...

    2024/5/8 20:47:43
  7. 第10章_创建和管理表(基础篇)

    第10章_创建和管理表1. 基础知识1.1 一条数据存储的过程1.2 标识符命名规则1.3 MySQL中的数据类型2. 创建和管理数据库2.1 创建数据库2.2 使用数据库2.3 修改数据库2.4 删除数据库3. 创建表3.1 创建方式13.2 创建方式23.3 查看数据表结构4. 修改表4.1 追加一个列4.2 修改一个列…...

    2024/4/25 8:29:35
  8. Linux 中最好用的白板应用程序 Xournal++

    Xournal 主页文档源码 Xournal 是用 c和 GTK3 编写的。免费的&#xff0c;适用于 Linux、macOS 和 Windows。如果在手机上试用它&#xff0c;也可以获得 Beta 版本。 在使用了 Xournal 一段时间之后&#xff0c;发现它真的很好用。 Xournal允许您编写、绘制和执行通常在纸上…...

    2024/5/9 3:52:38
  9. JavaScript怎么实现两个窗口之间的通信? https://blog.csdn.net/kaimo313/article/details/107773642

    问题 最近在进行业务开发的时候&#xff0c;遇到一个问题&#xff0c;就是一个页面里面点击打开了一个新的窗口&#xff0c;然后在新的窗口里面保存成功数据之后需要更新前面一个窗口的数据&#xff1f; window.postMessage的简单介绍 一段时间的挣扎&#xff0c;确定了用post…...

    2024/4/17 23:30:40
  10. github-markdown-css 的使用

    github-markdown-css 的使用使用其它使用 直接将文件下载到项目中 postcss-pxtorem 优化字体大小 // PostCSS 配置文件 module.exports {// 配置要使用的 PostCSS 插件plugins: {// 配置使用 postcss-pxtorem 插件// 作用&#xff1a;把 px 转为 rempostcss-pxtorem: {/* r…...

    2024/4/13 11:34:07
  11. 蓝桥杯04---Huffuman树

    1.问题分析 哈夫曼树又是最优二叉树&#xff0c;它的度为2&#xff08;几个孩子&#xff09;&#xff0c;因此可以推算出它的总元素个数为2n-1。用数组法时可以由此确定出初始化元素个数。 解决方法为&#xff1a;先排序&#xff0c;再选择两个最小的数相加&#xff0c;结果放在…...

    2024/4/17 2:36:24
  12. oracle使用心得(1)—— 表空间相关操作

    文章目录一、查看表空间使用情况二、创建表空间以及用户1. 查看表空间的文件位置2. 创建表空间3.创建表空间用户4. 授权表空间相应权限二、解决表空间快满的操作1.添加新的表空间文件2.重新设置原有表空间大小总结一、查看表空间使用情况 SELECT a.tablespace_name, a.bytes t…...

    2024/4/13 11:35:02
  13. 图片放大后变模糊怎么办?

    图片放大后变模糊怎么办&#xff1f;作为一名上班族&#xff0c;工作中难免要使用到图片素材&#xff0c;如果找到的图片素材尺寸不够&#xff0c;就需要将图片进行放大处理&#xff0c;但是当我们将图片尺寸放大后变得非常的模糊不清&#xff0c;图片就像有一层马赛克样子的格…...

    2024/4/20 15:24:31
  14. 如何轻松理解对点云的深度学习算法 - PointNet的进化版 - PointNet++ 算法 (点云分类、分割部分)?

    CV_5 PointNet算法的简单理解&#xff08;分类、分割部分 - 入门级别&#xff09; 一. 引言 在上一篇对PointNet算法的文章中&#xff0c;我们了解到了PointNet算法究竟是如何在考虑局部信息的情况下完成特征提取的&#xff0c;如果还对特征提取步骤不太了解的同学请移步&#…...

    2024/4/16 4:27:57
  15. day03

    day 03 1. Background 今天是学习java的第三天&#xff0c;主要任务是学习if语句的用法&#xff0c;以及函数的调用和注释的规范。 2. Description if then else语句的用法和C语言的差别不大&#xff0c;如果有C语言基础&#xff0c;理解起来则无太大困难。函数的调用也是同…...

    2024/4/13 11:34:57
  16. ctf-HelloBoss

    知识点&#xff1a; 对于PHP的文件&#xff0c;备份可能是在后面加上“~”...

    2024/4/20 2:19:06
  17. SpringCloud Gateway (4)动态路由

    配置网关路由一般有两种方式 application.yml 中配置 routes:#路径匹配- id: demo-serveruri: lb://demo-serverpredicates:# 这样写方便后面理解- name: Pathargs:pattern: /api/hi/**filters:- name: RewritePathargs:regexp: /api/(?<segment>.*)replacement: /$\{s…...

    2024/4/13 11:34:37
  18. Java.lang包

    前言 java.lang包是java语言的核心&#xff0c;它提供了java中的基础类。包括基本Object类、Class类、String类、基本类型的包装类、基本的数学类等等最基本的类。我们介绍一下Java 8中的java.lang包。主要类如下图&#xff1a; 下面分别介绍其中比较常用的类&#xff1a; 一…...

    2024/4/7 22:11:24
  19. 【小程序系列】navigateTo跳转超过10次点击失效

    navigateTo跳转超过10次点击失效一.场景需求&#xff1a;从小程序A页面跳转到小程序B页面&#xff0c;然后B页面还可以跳到A页面。二.官方文档三.跳转失效原因四. 解决办法五. 注意事项一.场景需求&#xff1a;从小程序A页面跳转到小程序B页面&#xff0c;然后B页面还可以跳到A…...

    2024/4/13 11:35:07
  20. 抽象类(abstract class)和接口(interface)有什么异同

    抽象类和接口都不能够实例化&#xff0c;但可以定义抽象类和接口类型的引用。一个类如果继承了某个抽象类或者实现了某个接口都需要对其中的抽象方法全部进行实现&#xff0c;否则该类仍然需要被声明为抽象类。 接口比抽象类更加抽象&#xff0c;因为抽象类中可以定义构造器&a…...

    2024/4/20 4:14:01

最新文章

  1. Linux主机排查工具-GScan

    0x01 简介 本程序旨在为安全应急响应人员对Linux主机排查时提供便利&#xff0c;实现主机侧Checklist的自动全面化检测&#xff0c;根据检测结果自动数据聚合&#xff0c;进行黑客攻击路径溯源。 0x02 项目地址 https://github.com/grayddq/GScan 0x03 CheckList检测项 自…...

    2024/5/9 8:40:28
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/5/7 10:36:02
  3. Leetcode88——合并两个有序数组

    题目&#xff1a; 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中&#xff0c;使合并后的数组同样按 非递减顺序 排列。 注意&#xff1a;最终&…...

    2024/5/4 6:29:10
  4. Linux mount用法

    在Linux系统中&#xff0c;系统自动挂载了以下挂载点&#xff1a; /: xfs文件系统&#xff0c;根文件系统, 所有其他文件系统的挂载点。 /sys: sysfs文件系统&#xff0c;提供内核对象的信息和接口。 /proc: proc文件系统&#xff0c;提供进程和系统信息。 /dev: devtmpfs文件系…...

    2024/5/5 8:38:45
  5. Mac brew 安装软件

    Mac brew 安装软件 homebrew 速度慢 将brew 切换到国内镜像源 # 速度一般 # 步骤一 cd "$(brew --repo)" git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git# 步骤二 cd "$(brew --repo)/Library/Taps/homebrew/homebr…...

    2024/5/8 18:39:33
  6. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/8 6:01:22
  7. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/7 9:45:25
  8. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/5/4 23:54:56
  9. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/9 4:20:59
  10. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/5/4 23:54:56
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/5/4 23:55:05
  12. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/5/4 23:54:56
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/5/7 11:36:39
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/5/4 23:54:56
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/6 1:40:42
  16. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/5/4 23:54:56
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/5/8 20:48:49
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/5/7 9:26:26
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/5/4 23:54:56
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/8 19:33:07
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/5 8:13:33
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/5/8 20:38:49
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/5/4 23:54:58
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/9 7:32:17
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/5/4 23:54:56
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57