一、如遇到除个别浏览器外(谷歌) 其他浏览器的onclick事件报错和不执行时 可能的原因:
1,事件本身不支持某个浏览器事件
2,事件名称和某个id或者name相冲突
3,js未调用事件名称
二、ios系统 input获取焦点时 宽度自动放大 解决的办法:
1,加
<meta name ="viewport" content ="initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
<meta name="app-mobile-web-app-capable" content="yes">
2.input 内的字体大小不能小于16px
ios 系统input聚焦问题
给input绑定点击事件 触发focus事件
三、每个页面抛出关键字以便能被搜索到
<meta name="Keywords" Content="债务,看看 ">
<meta name="description" Content="债务,看看 ">
//关键字用“,”号隔开
四、pc端页面 如果只兼容谷歌浏览器的情况下 解决办法:
报错:SCRIPT1004: 缺少 ‘;’ let 不支持IE浏览器
报错:SCRIPT5009:点击事件未被定义 原因是因为SCRIPT1004报错 无法找到相应的点击事件
当需要请求接口时:用ajax时 传值时 不需要转化 直接定义对象
五、本地页面引用的文件,一定按照准确的地址进行调用 否则当整个文件的root发生变化时,文件调用的方法和引用的文件将报错(404)
如果直接是template 或者是static文件下的文件 调用文件或接口时 ,只需要./ ,相当于在根目录。其他文件夹下面的文件,根据层级找到相应的目录
六、html文件不能直接打开(任何浏览器)
1.将桌面的浏览器 属性找到文件位置,创建快捷方式 将快捷方式放在桌面
2.打开浏览器 工具->Internet设置 -> 常规设置 自己手动添加地址或者使用空白页
3.点击浏览器 右键->属性->快捷方式->目标 将exe后面的其他的网址删掉
4.下载360急救包 进行木马病毒等等进行查杀
5.运行->regedit ->将yes2345相关东西删掉
七、当引用组件时,有时候组件上有下划线或者上划线
找到组件名 :after或者:before{height:0} 这样可以进行隐藏去掉
当去循环某个组件时 ,对于最后一个样式要不一样时
使用选择器 :nth-of-type(n){} //n 可以是数字、关键词或公式
:nth-last-of-type(1) :nth-first-of-type()
八、当本地不能放太多静态文件时,放入阿里云上
阿里云官网-控制台-登录-oss-上传文件
九、当选择单选框后,有两个按钮,一个按钮是需要清空所选的内容的,一个按钮是展示已经选择了的相关信息,如果是先选择单选框,展示信息,再清空信息,是没有错的,但是如果先清空消息,再展示信息的话,此时是没有信息的,怎么做?
其实很好办,如果选择之后,需要按清空按钮,此时,就将选中的单选让其不选中状态
十、显示不完是用…省略
overflow: hidden ;
display: -webkit-box ;
-webkit-line-clamp: 2 ; //几行显示
-webkit-box-orient: vertical ;
word-break: break-all ;
十一、微信小程序聊天报错,websocket连接不上
sendSocketMessage:fail WebSocket is not connected
可以在本地进行连接 打开 cmd
npm install ws
然后运行 npm run dev
十二、vue冒泡处理
在需要阻止冒泡的地方 加@click.stop 或@tap.stop
十三、当关闭页面时,input框弹出的软键盘不消失
在监听退出页面或隐藏页面的钩子函数中、关闭软件盘
例如uniapp中
onBackPress() {
uni.hideKeyboard()
}
十四、localstorage和sessionstorage的区别
1.localStorage生命周期是永久,关闭或退出程序,不会清除缓存数据
2.sessionstorage只对当前会话有用,若退出程序,缓存将清除
十五、当获取的字符串需要转换成JSON格式时,JSON.parse()方法对某个中文字段没法转换的时候,可用eval()
var result1 =''
result1=res.result
that.result=eval("(" + result1 + ")")
十六、数字直接转换成中文形式
rp (n) {
var cnum = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九'];
var s = '';
n = '' + n; // 数字转为字符串
for (var i = 0; i < n.length; i++) {
s += cnum[parseInt(n.charAt(i))];
}
return s;
}
十七、ios编译调试
下载iTunes 爱思助手
如果手机连接不上hbuilderx
1,usb线问题
2,驱动未安装
3,itunes版本问题,可更换版本
十八、uniapp编译时出现如下错误
暂未解决,求解决方法
十九、hbuilderx编译到小程序时
微信小程序设置-安全设置-服务端口开启
如果开启后还出现,目前暂时未得到解决,望大佬指教
二十、uniapp安卓本地(离线)打包流程
转连接
二十一、某端正常,其他端异常,uniapp参考指南:
https://uniapp.dcloud.io/matter
二十二、checkbox checked不生效问题
1,查看是否css冲突,特别是(颜色改变是否添加了!important)
2,是否对数组进行添加字段设置,添加某个字段来判断选中与否,不能直接对数组进行添加,需给定变量再添加,再赋值
二十三、ios文字转语音 (使用系统提供的接口)
iosSpeechToVoice(text) {
console.log(text)
var AVSpeechSynthesizer = plus.ios.importClass('AVSpeechSynthesizer');
var AVSpeechUtterance = plus.ios.importClass('AVSpeechUtterance');
var AVSpeechSynthesisVoice = plus.ios.import('AVSpeechSynthesisVoice');
var sppech = new AVSpeechSynthesizer();
var voice = AVSpeechSynthesisVoice.voiceWithLanguage('zh-CN');
var utterance = AVSpeechUtterance.speechUtteranceWithString(text);
// utterance.plusSetAttribute("rate",30.1);
utterance.setVoice(voice);
sppech.speakUtterance(utterance);
//停止
sppech.stopSpeakingAtBoundary(0);
//暂停
sppech.pauseSpeakingAtBoundary(0);
//继续
sppech.continueSpeaking(0);
plus.ios.deleteObject(voice);
plus.ios.deleteObject(utterance);
plus.ios.deleteObject(sppech);
},
转详细解释
二十四、获取wifi名称(ssid)时,获取不到的原因
1,未获取到该app的定位权限
二十五、uniapp编译到h5时
1,manifest.json中配置
二十六:app有定时器时,要在后台一直运行,但安卓系统一段时间后会将进程退掉,怎么处理
1,将App锁住或者允许后台高耗电
2,可在App中写一段音频播放,设置该音频的声音为0
3,允许后台自启动
二十七:ios中 margin-top不生效问题
1,在底部给一个空盒子,填充高度
2,用定位
二十八:文字渐变色
转:通过CSS实现 文字渐变色 的两种方式
二十九:wss连接的一些坑
转:wss连接
三十: 使用mpvue-echarts时遇到的问题
(1)App报表出现闪烁数据不准确问题(由于canvasId相同导致)
解决方法:将canvasId更改为唯一值
(2)当有多个页签时,每个页签内有几个图表时,选择标签栏不切换的问题(具体什么原因导致,暂时无法查询)
解决办法:切换页签时再次调用相关接口并初始化(进入页面时onload不能初始化)
(3)浏览器上不显示、报错,app、小程序显示图形时
解决办法:echarts.simple.min.js中function(t)更换成function(t, window, document)
三十一:tofixed 四舍五入问题
function toFixed(number, m) {
if (typeof number !== 'number') {
throw new Error("number不是数字");
}
let result = Math.round(Math.pow(10, m) * number) / Math.pow(10, m);
result = String(result);
if (result.indexOf(".") == -1) {
if(m != 0){
result += ".";
result += new Array(m + 1).join('0');
}
} else {
let arr = result.split('.');
if (arr[1].length < m) {
arr[1] += new Array(m - arr[1].length + 1).join('0')
}
result = arr.join('.')
}
return result
}```