![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
前端
Evavava啊
这个作者很懒,什么都没留下…
展开
-
React事件处理,为什么需要调用bind
react在事件处理中,在constructor另外调用bind的原因原创 2022-07-06 17:37:48 · 371 阅读 · 1 评论 -
xss攻击和csrf攻击
xss攻击:跨站脚本攻击三种攻击方式:注入式攻击、反射型攻击、基于DOM的xss攻击解决方式:过滤及转码;csp内容安全策略,通过头部或meta指定哪些脚本可以执行;httponly,只允许http请求携带cookie,不允许javascript获取cookiecsrf攻击:跨站请求伪造攻击漏洞在于发送http请求会自动携带同源的cookie所在在用户登录一个A网站后,再去浏览器一个恶意B网站的过程中,如果发起了对A网站的请求,即使是由B网站发起的,也会自动携带A网站的cookie,从而原创 2021-09-03 20:50:55 · 173 阅读 · 0 评论 -
跨域请求发送了吗?
跨域请求都是可以发送的,服务器也会响应,但是浏览器可能不会接收响应的数据之所以是可能不会接收数据,是因为首先根据同源策略,浏览器本不会接收数据;但是如果服务器设置了跨域请求,允许不同源的网站请求数据,浏览器就可以接收数据交给页面。可以联想options预检请求判断本页面能不能请求到服务器端的数据。cors和反向代理都是在服务器端做的配置,对前端透明jsonp就是服务器端和客户端联合把跨域访问变成了跨域资源共享,jsonp也需要服务端的配合...原创 2021-09-03 20:41:12 · 1040 阅读 · 0 评论 -
通过nginx反向代理解决跨域
先写一个发送跨域请求的页面index.html<html><head> <title></title></head><body> <button onclick="sendAjax()">sendAjax</button> <script type="text/javascript"> var sendAjax = () => { va原创 2021-09-03 20:36:21 · 443 阅读 · 0 评论 -
es6 class语法糖
class Test{ constructor(name) { // 实例属性 this.name = name } // 实例属性 type = "test" // 实例方法 sayName = () => { console.log(`say name: ${this.name}, type: ${this.type}`) } // 原型方法 sayHello() { .原创 2021-09-03 10:53:46 · 109 阅读 · 0 评论 -
vue中如何实现用JavaScript调用函数的方式使用一个通用的通知组件
VUE2 createAPI插件VUE3 createApp加mount其实就是像挂载app根组件一样的方式,创建一个新的dom节点,把当前通用组件挂载上去vue.extend也可以实现这个功能,对于vue3应该没有必要参考链接:https://www.wenjiangs.com/article/vue-create-api.htmlhttps://www.jianshu.com/p/59809e4229bf?utm_campaign=maleskine...原创 2021-07-24 15:38:14 · 188 阅读 · 1 评论 -
vue createApp(),mount(),生命周期钩子函数执行顺序
之前一直以为在调用createApp()时执行beforeCreate、created这两个钩子函数,在mount()时才执行beforeMount、mounted这两个钩子函数但实际上,在createApp()时不会执行任何钩子函数,而在mount时才会开始执行钩子函数以下是测试的例子网上查找资料,了解到createApp确实创建了一个vue实例,但这里只做了一些初始化的操作,比如初始化钩子函数、初始化watch、methods等,还有使用defineProperty把数据转化成get原创 2021-07-24 11:06:31 · 2100 阅读 · 0 评论 -
VUE 2 无法监听数组和对象的某些变化
一、数组1. 不能监听的情况(1) 直接通过下标赋值 arr[i] = value(2) 直接修改数组长度 arr.length = newLen2. 替代做法(1)修改值1. Vue.set(arr, index, newvalue)2. vm.$set(arr, index, newvalue)3. arr.splice(index, 1, newvalue)(2) 修改数组长度,arr.splice(newLen)3. 注意调用数组的pop、pus...原创 2021-07-19 20:45:07 · 4480 阅读 · 4 评论 -
HTML中的JavaScript
《JavaScript高级程序设计(第四版)》p13-p151. 标签位置如果把所有JavaScript文件都放在<head>里,也就意味着必须把所有JavaScript代码都下载、解析和解释完成后,才能开始渲染页面(页面在浏览器解析到<body>的起始标签时开始渲染)。对于需要很多JavaScript的页面,这会导致页面渲染的明显延迟,在此期间浏览器窗口完全空白。为解决这个问题,现代web应用程序通常将所有JavaScript引用放在<body>元素中的页面内容转载 2021-07-03 14:38:38 · 88 阅读 · 0 评论 -
form提交
阻止表单默认提交方式一:form标签中给定一个提交事件,并且用prevent阻止默认行为;button的type是submit方式二:用一个type是button(一定要注意给出这个button属性)的button,给定提交的事件;form标签中不用给任何操作其它方式,待补充...原创 2021-04-23 11:31:00 · 92 阅读 · 0 评论 -
chrome浏览器安装vue调试插件dev-tools
1. 在google商店中下载vue dev-tools2. 修改manifest.json中的persisetent配置3. 在chrome浏览器扩展程序中勾选 “允许访问文件网址”4. 重启chrome浏览器运行新项目,打开开发者工具原创 2021-03-30 10:20:58 · 272 阅读 · 0 评论