如果想为一个变量赋默认值,通常的做法是使用逻辑或运算符 : 然而,由于 || 是一个布尔逻辑运算符,左侧的操作数会被强制转换成布尔值用于求值。任何假值(0, '', NaN, null, undefined)都不会被返回。这导致如果你使用0,''或NaN作为有效值,就会出现不可预料的后果。 function showTemp(temp) { // 针对5种情况都是未采集 '' undefined 0 null NAN document.getElementById('temp').innerHTML = temp …

2023-01-13 0条评论 336点热度 0人点赞 admin 阅读全文

编写H5网页的时候,希望有个关闭按钮,可以关闭当前页面,其实也就是将当前网页返回到上一个页面(如果没有上一个页面,自然也就是退出到空白页面了) 这个功能应该很简单,只要使用或者就可以实现,不过遇到一个问题是,如果当前页面是在微信中打开,上面的功能就不能用了。 起始微信中可以调用微信自定义的函数来实现(),不过在非微信中可能就需要特别检查下,不然会报错: 代码如下: function fnClose(){ history.back(); // 普通H5网页后退 // 微信中关闭 if(window.WeixinJSB…

2022-12-17 0条评论 609点热度 0人点赞 admin 阅读全文

在开发手机网页的时候(手机微信公众号的网页也类似),遇到一个需求,在使用手机真机查看网页效果的时候,需要看debug情况(例如console控制台、network网络发送情况等等),这个时候就没有在电脑上来的方便,不能很方便的打开控制台等。 这个时候,可以试试这个 https://github.com/Tencent/vConsole/blob/dev/README_CN.md 调试神器,一个轻量、可拓展、针对手机网页的前端开发者调试面板。 使用方法很简单,只要引入js,初始化一下即可(Vue下也兼容): <…

2022-12-07 0条评论 1130点热度 0人点赞 admin 阅读全文

因为一些原因(例如一些旧项目需要ActiveX控件等),需要支持旧版本IE浏览器,但是现在很多框架可能已经不支持IE浏览器,比如里面使用了一些IE不兼容的Array的方法,例如find,filter,map,findIndex,includes IE下可能会报如下错误:   以下代码,我把能想到的IE下可能不支持的方法列出来,并实现了,大家各取所需: if(!Array.prototype.find) { Array.prototype.find = function (callback) { retur…

2022-12-01 0条评论 484点热度 0人点赞 admin 阅读全文

要从图像、照片中提取文本吗?是否刚刚拍了讲义的照片并想将其转换为文本?那么您将需要一个可以通过 OCR(光学字符识别)识别文本的应用程序。今天,我们介绍一款用强大的开源 OCR 库:Tesseract.js。 Tesseract.js 是一个 javascript 库,可以从图像中获取几乎任何语言的文字。它将原始的 Tesseract 从 C 编译为 JavaScript WebAssembly,从而使 OCR 可以在浏览器中访问。Tesseract.js 引擎最初是用 ASM.js 编写的,后来移植到 WebAs…

2022-11-27 0条评论 771点热度 0人点赞 admin 阅读全文

平时前后端对接API经常遇到一个问题,就是浏览器跨域问题,遇到跨域问题,前后端都觉得自己做好了跨域方面的措施,不知道问题点出在哪里,这里介绍一个简单的办法,可以测试服务器后端是否处理了跨域问题。 在浏览器(例如GoogleChrome)的控制台(Console),输入以下代码,即可判断API后端是否可以跨域。 其中下面https://httpbin.org 的地址,换成实际的API能请求的地址来测试 测试GET: var url = 'https://httpbin.org/get'; var xhr = new …

2022-10-31 0条评论 531点热度 0人点赞 admin 阅读全文

Hmtl中有个如下的文件上传input控件,绑定了@change事件,在用户选择了文件后触发,来执行特定的业务逻辑 <input id="uploads" type="file" onchange="fileChanged(this)" accept="image/*"> <!--或者vue下的@change--> <input id="uploads" type="file" @change="fileChanged" accept="image/*"> 发现一个问题,在用户选…

2022-10-28 0条评论 314点热度 0人点赞 admin 阅读全文

需要在JS代码中打开新的页面,且需要在浏览器的新标签页面中打开 一般使用一下代码打开新页面 window.location.href='https://www.baidu.com'; window.open('https://www.baidu.com'); 不过并不是在新标签页中打开的,可以这样做: window.open('https://www.baidu.com', '_blank'); 另一种方式: function openInNewTab(url) { Object.assign(document.c…

2022-09-11 0条评论 542点热度 0人点赞 admin 阅读全文

我们开发普通的下载链接,只主要写一个标签,不过有一些需求是要针对这个下载链接做权限校验,而权限校验需要在请求这个链接的时候,在Header里加上token之类的。 使用axios来调用get请求,并发送自定义的Header,然后把请求到的数据组成下载内容,示例代码如下: download() { axios.get('http://192.168.1.1:8081/api/export_pdf', { headers: { 'Content-Disposition': "attachment; filename=d…

2022-09-07 0条评论 1118点热度 0人点赞 admin 阅读全文

平时调用axios来请求ajaxAPI,很多时候是一个一个请求;不过还有一些时候,需要一次请求多个API,然后等待这几个接口都返回后,再一起处理。 这里用get方法举例(post也是类似的),使用的是方法: const request1 = axios.get('/api/user/request1'); // 如果是post请求,也是同样的 const request2 = axios.get('/api/user/request2'); // const request3 = ... // 再多的API,只要数…

2022-08-09 0条评论 674点热度 0人点赞 admin 阅读全文
123457