谷歌浏览器新版本找不到属性方法

使用【版本 100.0.4896.60(正式版本) (64 位)】正常,更新到最新版本【版本 103.0.5060.53(正式版本) (64 位)】,出现异常。

shadowify后无法找到JavaScript photoshop无法找到javascript增效工具_Windows

spring boot项目,引入js,init()初始化向后台获取数据,遍历生成节点,每行数据绑定role.f1()方法。点击触发的时候,则报上图错误。

var role={
    init(){
        
    },
    f1(){
        
    }
}
  1. 将role.f1()方法写到外面,(该js文件role之外即可),调用role.f1()改成调用f1()
  2. 将role改名,如role1,也可以恢复正常。

以前项目正常,暂未找到项目其他赋值role的代码。原因未知。

为了对电脑进行保护,已经阻止此应用

shadowify后无法找到JavaScript photoshop无法找到javascript增效工具_vue.js_02

为了对电脑进行保护,已经阻止此应用

  1.  win+R输入gpedit.msc回车
    windows找不到gpedit.msc请确定文件名 【windows找不到gpedit.msc请确定文件名】是因为系统版本为家庭版,【本地组策略编辑器】被限制使用
    以管理员身份运行以下bat程序:(若闪退,管理员身份运行cmd,cd到该.bat文件目录,start test.bat)
  2. @echo off
    
    pushd "%~dp0"
    
    dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txt
    
    dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txt
    
    for /f %%i in ('findstr /i . List.txt 2^>nul') do dism /online /norestart /add-package:"C:\Windows\servicing\Packages\%%i"
    
    pause
  3. 打开组策略之后依次展开【计算机配置】→【Windows设置】→【安全设置】→【本地策略】→【安全选项】,在右侧栏找到并双击打开【用户账户控制:以管理员批准模式运行所有管理员】
  4. 接下来把该项设置设置为已禁用



table

table标签的thead、tbody、tfoot标签,要么不用,要么都用,我从来都是配套使用,直到帮人找错,ta表头直接使用tr,后面又使用tbody,出现异常。

cmd

运行指定文件:

start 路径名

路径中有空格中文等:

start "" "路径"

显示所有环境变量:

set

显示"p"开头的变量:

set p

将变量内容替换为新内容:

set 变量名=变量内容

在变量原本内容上追加内容:

set 变量名=%变量名%;变量内容

setx为全局变量 

禁止缩放

<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport" />

 安卓ios date

new Date("2022-03-15")ios异常

appSource() {
      const u = navigator.userAgent;
      const isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
      if (isiOS) {
        return "ios";
      } else {
        return "andriod";
      }
    },

 el-input无法改变数据

代码:

<el-form ref="dataForm" :model="dataForm" :rules="rules">
  <el-form-item >
    <el-input v-model="dataForm.userName"></el-input>
  </el-form-item>
</el-form>
<el-input v-model="dataForm.userName"></el-input>
<el-input v-model="test"></el-input>
setup() {
  const state = reactive({
    dataForm: {
      userName: ""
    },
    test: "",
    rules: {
      tempTitle: [
        {required: true, message: '请输入名字', trigger: 'blur'},
      ]
    },
  });
  return state;
},

情况:

  1. 输入字母“qwer”,无改变,点击旁边(失焦)则显示“r”,删除键无效,仍然失焦后才消失,(写本文而重写的测试页面,异常情况又不同,不赘述)
  2. shadowify后无法找到JavaScript photoshop无法找到javascript增效工具_前端_03


  3. 发现当前页面其他位置input同样情况
  4. 其他input如果绑定的只有属性,如test:“”,则是正常
  5. 反复试验,el-form删除或去掉属性,则正常
  6. 期间网上寻求解决方案,有类似情况。说法为:嵌套太深或上级标签为template,解决方式为:为input绑定@change或@input方法,或传参数$event,方法(methods)为:this.$forceUpdate();
  7.  表单验证时的ref属性值不能重名,改名即可。(就这?浪费我这么久时间!)
    官网模板表单验证就和数据源是重名的,我以前(vue2.X)就是正常的,现在(vue3.X使用了defieComponent、reactive),就不能重名;
  8. 新发现的问题,el-input-number点击增减无效,结果......是后台给的数据类型是String,导致无法修改。

 树状结构

var shu=0;
function createList(o,l)
{
    for (var j=0;j<=o.length-1;j++){
        if (o[j].type==1){
            var str = `<ul class='${l==1?"nav navbar-nav":"ggg"}' id='${l==1?"toggle-headNav":"toggle-headNav2"}' style="left: ${shu==1?"0":"66"}px;top:${shu==1?"":"0"}px ">`;
            for(var i=0, l = o.length; i<l; ++i)
            {
                str += `<li class='${o[i].parentId=="1"?"yiji":"erji"}'><a href="javascript:void(0)" data-url="${o[i].hrefUrl}" style="font-weight: 500">${o[i].name}</a>`;
                if(o[i].children && o[i].children.length>0){
                    shu++;
                    str += createList(o[i].children,2);
                }
                str += `</li>`;
            }
            shu=0;
            str += "</ul>";
            return str;

        }

    }

}

跨域下载图片

function imgDown(href,name){
    let x=new XMLHttpRequest();
    x.open("GET", href, true);
    x.responseType = 'blob';
    x.onload=function(){
        let url = window.URL.createObjectURL(x.response);
        let a = document.createElement('a');
        a.href = url;
        a.download = name;
        a.click();
    }
    x.send();
}

 下载文件,中文解码

//文件链接解码
downloadExcel(e, name) {
  let a = document.createElement("a");
  a.setAttribute("download", name);
  a.href = `${window.SITE_CONFIG["apiURL"]}/sys/oss/downloadFileLink?key=${e}&fileName=${name}`;
  a.click();
}

复制到剪切板

function copyUrl(txt) {
    // 创建一个 Input标签
    const cInput = document.createElement('input')
    cInput.value = txt
    document.body.appendChild(cInput)
    cInput.select() // 选取文本域内容;
    // 执行浏览器复制命令
    // 复制命令会将当前选中的内容复制到剪切板中(这里就是创建的input标签)
    // Input要在正常的编辑状态下原生复制方法才会生效
    document.execCommand('Copy')
    // this.$notifice('success', '复制成功') // antd框架封装的通知,如使用别的UI框架,换掉这句
    /// 复制成功后再将构造的标签 移除
    cInput.remove()
}

注册表shell鼠标右键

win+Rregedit\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell

新建Idea→新建command→设置数据→"idea路径"(空格)"%1"

"%1"代指打开的文件

shadowify后无法找到JavaScript photoshop无法找到javascript增效工具_javascript_04

对Idea新建字符串值,名为icon(不分大小写),值为idea路径,可不带引号,则右键有对应的图标

Tips

  1. 不要把项目放C盘,有时会频繁访问文件夹触发系统保护机制;
  2. ios中不能new Date("2022-01-01"),只能new Date("2022/01/01");
  3. (大)部分手机和部分版本浏览器不兼容js中replaceAll方法,请用正则
    str.replace(/\//g, "-")。

时间date

let startTime=new Date();//本月1号00:00:00
startTime.setDate(1);
startTime.setHours(0);
startTime.setMinutes(0);
startTime.setSeconds(0);
let endTime=new Date(startTime);
if(endTime.getMonth===11){
	endTime.setFullYear(endTime.getYear()+1);
	endTime.setMonth(0)
}else{
	endTime.setMonth(endTime.getMonth() + 1)
}
endTime=new Date(endTime.getTime() -1000 )

idea tomcat utf-8

-Dfile.encoding=UTF-8

表单验证

this.$refs.dataForm.validateField("password");//触发指定输入框验证
this.$refs.dataForm.validate((valid) => {});//全部校验
this.$refs["dataForm"].clearValidate();//关闭校验

电话号码

let txt= `
    asefads17312341234阿斯顿发哈0755-4554444而且确认17312341234ads
`
function getPhone(str) {
    let regx = /(1[3|4|5|7|8][\d]{9}|0[\d]{2,3}-[\d]{7,8}|400[-]?[\d]{3}[-]?[\d]{4})/g;
    str = str.replace(regx, `<a href='tel:$&' style='text-decoration: underline;color: #2878FF;'>$&</a>`)
    return str;
}
console.log(getPhone(txt))

跳转电话

<p>联系电话:<a :href="'tel:' + item.phone">{{item.phone}}</a></p>
 
<meta name="format-detection" content="telephone=yes" />
 
// 调用拨号功能
callPhone (phoneNumber) {
 window.location.href = 'tel://' + phoneNumber
}



清除npm缓存

npm cache clean --force 

el-table文本居中

<style>
    ::v-deep .el-table th,
    ::v-deep .el-table td {
      text-align: center !important;
    }
</style>

vue中mounted找不到dom


el-table-column设置header-align="center" align="center"


mounted() {
    this.$nextTick(()=> {
        setTimeout(()=> {
        let el = document.querySelector('.table')
        console.log(el)
        if(el) {
          this.offsetTop = el.offsetTop
          window.onscroll = () => this.getInvitationRecordUserList(this)
        }
      })
    })
  },

节点还没加载出来,用this.$nextTick(()=>{})包起来,还不行就加setTimeout异步。

 el-table的select回填

dialogOpen() {
  // 初始化专家勾选
  if (this.dialogExperts===true&&this.pageType===true) {
    this.dataForm.experts.forEach((item, index) => {
      this.experts.forEach((val, i) => {
        if (item.id == val.id) {
          this.toggleSelection([this.experts[i]]);
        }
      });
    });
    this.dialogExperts = false;
  }
},
openDetails(row) {
  this.$refs.experts.toggleRowSelection(row);
},

handleSelectionChange(val) {
  this.dataForm.experts = val;
},
toggleSelection(rows) {
  // @click="toggleSelection([tableData[1], tableData[2]])
  rows.forEach((row) => {
    this.$refs.experts.toggleRowSelection(row);
  });
},