项目开发中遇到的前端知识点

【测试开发】知识点-前端 vue-element-admin 框架,项目组件分析 在实战中学习,在学习中成长。 测试平台到现在开发了几个功能了,前后端也陆续写了些代码,觉得应该回顾一下,梳理一些知识点。 比如前端在用的vue-element-admin框架,以及后端持久化层在用的 mybatis 等等,现在可以只懂皮毛,但是不能一直这样。 为了后面更得心应手的使用,接下来准备先整理一下关于这个前端框架的知识点。 一、组件 开始还是要了解一下组件: 组件(Component)... 阅读详情

总结了下在项目中遇到的一些前端问题,和查看源码学习到的一些知识,一个是打开了自己的思路,刷新了以前对于前端的认知。只要对一个问题深入思考,总能引申出很多的问题。

比如:ajax的请求,还可以对其设置一个全局方法,对ajax请求中满足error、complete等的做处理;以前请求传输中,只遇到同域数据传输,跨域数据传输就没遇到过;对于jquery等一些第三方js,压缩版本是怎么做出来的没有去深入思考(那些压缩工具可以压缩js文件)

再比如开发调试,以前的技巧很单一,就是通过选取element元素,然后通过搜索技巧找到代码,在一段时间的web项目的实践中还知道,可以通过查看网络请求,查看触发事件等方式快速定位。

一、开发中遇到的前端知识点
1、eval
参考:https://www.cnblogs.com/objectorl/archive/2009/12/29/eval-and-JSON.html

eval函数将把最后一个表达式或者语句所包含的值或引用作为返回值
(1)对json格式返回做转换
(2)转换方式

加上圆括号的目的是迫使eval函数在评估JavaScript代码的时候强制将括号内的表达式(expression)转化为对象,而不是作为语句(statement)来执行。举一个例子,例如对象字面量{},如若不加外层的括号,那么eval会将大括号识别为JavaScript代码块的开始和结束标记,那么{}将会被认为是执行了一句空语句。所以下面两个执行结果是不同的:

alert(eval("{}"); // return undefined
alert(eval("({})");// return object[Object]

2、弹窗插件,sweetalert.js
你可以通过下面的方法来处理对话框的用户交互:

swal({
  title: 'Are you sure?',
  text: 'You will not be able to recover this imaginary file!',
  type: 'warning',
  showCancelButton: true,
  confirmButtonText: 'Yes, delete it!',
  cancelButtonText: 'No, keep it',
}).then(function(isConfirm) {
  if (isConfirm === true) {
    swal(
      'Deleted!',
      'Your imaginary file has been deleted.',
      'success'
    );
 
  } else if (isConfirm === false) {
    swal(
      'Cancelled',
      'Your imaginary file is safe :)',
      'error'
    );
 
  } else {
    // Esc, close button or outside click
    // isConfirm is undefined
  }
});  

3、jquery国际化实现
jQuery.cookie

4、跨域请求
jsonp格式

jQuery.ajax({
    url:urlpath,
    async:false,
    type:'GET',
    dataType:'jsonp',
    success:function (res) {
        console.log(res);
    }
});

5、session过期 返回登录页
通过$.ajaxSetup,设置AJAX的全局默认设置,可以处理会话过期等问题

 $.ajaxSetup({
        type: 'POST',
        complete: function(xhr,status) {
            var sessionStatus = xhr.getResponseHeader('sessionstatus');
            if(sessionStatus == 'timeout') {
                var top = getTopWinow();
                var yes = confirm('由于您长时间没有操作, session已过期, 请重新登录.');
                if (yes) {
                    /*location.href ---如果后面没跟值 那么就是获取当前页面的url
                        至于top, 表示是顶层页面, 因为页面之中可能嵌入了 frame 等子页面,top表示最外面一层
                        top.location.href  -- 当前页面地址
                     */
                    top.location.href = '/EasyUI/login.jsp';            
                }else{
                    window.opener=null;
                    window.open('','_self');
                    window.close();
                }
            }
        }
    });
    
    function getTopWinow(){
        var p = window;
        while(p != p.parent){
            p = p.parent;
        }
        return p;
    }

6、设置session有效期
(1)session.setMaxInactiveInterval(Constants.MAX_INACTIVE_INTERVAL);
(2)web.xml文件配置

<session-config>
    <session-timeout>1</session-timeout>
</session-config>

7、X-Requested-With
X-Requested-With为空,同步请求
X-Requested-With不为空,ajax请求

if(request.getHeader("X-Requested-With") != null)
 && request.getHeader("X-Requested-With").equalsIgnoreCase("XMLHttpRequest")){
}

8、jquery获取json文件

function getSsoUrlJson(urlPath, url) {
    $.ajaxSettings.async = false;
    $.getJSON("jsons/ssoUrlInfo.json", function (data) {
        $.each(data, function (infoIndex, info) {
            if (infoIndex === "ssoUrlInfos") {
                // 认证
                urlPath = info[0].url + url;
            }
        });
    });
    $.ajaxSettings.async = true;
    return urlPath;
}

9、request.getHeader(“referer”),退出登录

request.getHeader("referer"):获取来访者地址

注意:只有通过链接访问当前页的时候,才能获取上一页的地址,以下情况是获取不到值的:

1)window.open
2)直接输入地址
3)改变location
4)<a href="javascript:location='url'">xx</a>

二、其他开发问题
1.js压缩和压缩工具
2.浏览器兼容问题
3.浏览器缓存问题
4.session和cookie的使用优缺点
5.浏览器可以手动修改source源码,也可在控制台写入语句并执行输出

三、前端调试技术
前端主要使用浏览器开发者工具来调试,调试方式:
1.源码定位和搜索
可通过点击element(快捷键Ctrl+shift+C)找到前端代码位置,根据id、class、click事件、名称等方式搜索
2.network页签
(1)如果应用有ajax请求,可通过network页签查看请求记录,根据请求url找到代码对应映射
(2)可以查看性能
3.application页签
可以查看项目的cookie等参数
4.console页签
查看输出和异常

http请求头中的X-Requested-With标示是什么 是一个 HTTP 请求头,通常在 AJAX 请求中用来标识请求是由 JavaScript 发送的。这个头部信息可以用来防止 CSRF(跨站请求伪造)攻击。当一个请求包含头并且其值为时,服务器可以知道这个请求是一个 AJAX 请求。这样,服务器就可以实施额外的安全措施,例如检查请求的来源是否合法。然而,值得注意的是,尽管可以提供额外的安全性,但它并不是 CSRF 攻击的唯一解决方案。为了实现更强的安全性,应该结合使用其他的安全措施,如 CSRF 令牌。 阅读详情

相关推荐

前端开发小组项目实战

本文还有配套的精品资源,点击获取 简介:"codigo-frontend-grupo-7"项目是前端开发团队的工作成果,专注于HTML技术学习与实践。本项目涉及到网页结构构建,包含HTML核心知识点,如元素和标签、文档类型声明、头部和主体元素、布局与结构、表单元素、语义化标签、嵌入外部资源、响应式设计和Web标准与兼容性。通过研究该项目,可掌握前端开发的基本流程和技巧,提升...

weixin_30674431的博客 963

近期的ext项目总结

最近也终于使用ext做了一个小的web项目。第一次使用ext做项目毕竟经验不足,仅记下一些开发思路和需要注意的地方。   Ext Js 2.2+Spring 2.5,没有使用struts,hibernate   1)目录结构 a)js部分 根目录下建立/js/ext/目录,存放所有和ext相关的js文件。/js/ext/目录下可建立ext相关子目录 ...

愿今日的一切困难在未来都不值一提 350

web前端面试重点难点问题

一、vue相关 Q:vue的底层原理? A:Vue是采用数据劫持配合发布者-订阅者模式,通过Object.defineProperty来()来劫持各个属性的getter和setter。 在数据发生变化的时候,发布消息给依赖收集器,去通知观察者,做出对应的回调函数去更新视图。 Q:vue3.0的新特性? A: 1.代码结构更清晰 2.压缩包体积更小 3.Object.defineProperty 替换为es6的 Proxy。 将原本对对象属性的操作变为对整个对象的操作,可优化性增强 4.启用 TypeScript 语法,大大的简化了代码 详细参考:https://zhuanlan.zhihu

【JS】获取 Headers 头部信息

获取 Headers 头部信息,以及headers各实例方法的使用。

qq_45677671的博客 1万+

24GHz雷达DIY呼吸监测仪:用树莓派+TI IWR6843搭建生命体征检测系统(附Python代码)

本文详细介绍了如何利用树莓派和TI IWR6843毫米波雷达模块DIY非接触式呼吸监测仪。通过硬件选型、信号处理流水线设计和实时可视化系统搭建,实现高精度的生命体征检测,特别适合医疗健康和运动监测场景。附带的Python代码帮助开发者快速复现该系统。

rl6adventurer的博客 985

AUTOSAR R20-11标准下载!

这是公众号的第2篇推文,粉丝数49 Document Search Classic Platform Adaptive Platform Foundation 文档截图 以为会在明天的发布会之后才上线,没想到官网现在就悄悄放出来了。 中国由于网络问题,下载速度比较慢或者会中断。 “阅读原文”提供多种下载方式,可以在线浏览,可以集中下载也可单个文档下载。 如有增减我也会及时在公众号里通知大家,不过我觉得不会变动了。 整理不宜,好东西要分...

Adaptive_AUTOSAR的博客 1891

浏览器控制台Network面板介绍

浏览器控制台Network面板介绍如何打开Network面板控制台Network的作用Network面板组成常见的四个标签页General部分Response Headers(响应头)部分Request Headers (请求头)部分。

Gentlegril的博客 1万+

Redhawk-SC输入件配置中的5个常见错误及解决方法

本文针对Redhawk-SC功耗与可靠性签核工具,深入剖析了输入件配置中工艺文件错配、DEF文件路径、时序文件格式、电源网络模型及宏模型处理这5个最常见且棘手的错误。文章提供了资深工程师验证过的实战解决方案与检查清单,旨在帮助用户规避风险,提升配置效率与分析准确性,确保芯片签核流程的顺利进行。

earth的博客 233

x-requested-with的作用以及用法详解

x-requested-with的作用以及用法详解 x-requested-with 请求头 区分ajax请求还是普通请求 在服务器端判断request来自Ajax请求(异步)还是传统请求(同步):   两种请求在请求的Header不同,Ajax 异步请求比传统的同步请求多了一个头参数   1、传统同步请求参数 accept text/html,application/xht...

stay hungry ! stay foolish! 1951

数学:箭头符号→(to)都表示什么意义?

数学符号“→”在不同领域有不同含义:在逻辑中表示“蕴含”(p→q);在函数中表示映射关系(f:A→B);在极限中表示变量趋近(x→a);在推导过程中表示推理方向(A→B)。此外,它也可能用于向量表示或数列趋势。其具体含义需结合上下文判断,核心应用场景包括逻辑运算、函数定义、极限分析和数学推导等。

shunzi2016的博客 5572

一文读懂Cache一致性原理

本文介绍了为什么需要维护cache一致性、一致性协议的本质和类别,以及如何设计一致性协议。

W1Z1Q的专栏 6847

前端开发笔记3-开发小项目,kline遇到的知识点及问题

1.遇到需要弹出某些信息时的思路 今天遇到的需求是触发一个点击事件后弹出对应的信息,如何弹出较为合理的信息框呢。 整体思路是  点击事件-$('body').append('&lt;div&gt;.......&lt;/div&gt;')-点击事件x-$('div').remove() 具体来讲是这样: 在index.html中设置一个空白的div作为容器 当点击事件触发后,js在空白d...

书山有路勤为径 579

电容式麦克风:从原理到实际电路波形解析

本文深入解析电容式麦克风的工作原理,从核心的振膜与背板结构、电荷锁定机制到场效应管放大器的作用。通过实物拆解与等效电路分析,阐明声音振动如何转换为电压信号,并指导如何用示波器实测波形,直观展现声电转换过程,适合电子爱好者和音频技术学习者。

Black的专栏 1081

12.24 项目前端开发工具使用及前端知识点

webstorm create project 项目 前端 分析 原形设计 axure 原型开发 (写前端代码) webstorm web/ /js javascript脚本程序 /images 图片 /css 样式 /index.html 项目首页 文档结构 扩展名为 .html html5 h5 网页结构 百度 html5文档规范:...

qq_37042025的博客 137

AI快速变现之路,AI视频创作

初期投入$3000(工具订阅+样片制作),重点攻克跨境电商和本地生活服务市场。关注2025年AIGC视频工具的API降价趋势(如Pika企业版折扣可达50%),建议与云服务商签订长期合作协议。

qq_29896351的博客 1982

微信小程序 - 最新实现项目适老化设计全流程及源码,老年模式大字版与常规版页面样式切换,老年人大字模式字体与布局更换关怀版解决方案(新老项目均适用的方案,全局页面统一修改文本字号/DOM排版元素等)

微信小程序,vue2,vue3,老年大字版设计,小程序开发如何实现适老化方案,放大字体字号及改变页面的布局,小程序关怀模式实现思路及代码,统一将布局都改了,全局修改字体大小适配老年人看不清问题,小程序怎么接入老年模式并根据模式改变页面的UI设计,实现全局修改字体大小适老化/关怀版改造,最新详细示例代码全流程,字体放大/缩小,老项目怎么适配老年人模式方案,小程序适老化设计指南,当切换成老年模式时页面所有排版都会发生变化,小程序vue开发,新手详细教程,老年模式字体设置思路和UI布局的设计,开发者可以通过wx.

🏆 前端领域优质创作者 7308

探索前端面试知识点:Erichain的Front-End-Interview-Points

探索前端面试知识点:Erichain的Front-End-Interview-Points 项目简介 是一个开源的项目,旨在为前端开发者提供全面的面试准备指南。它涵盖了前端开发的各种知识点,包括HTML、CSS、JavaScript、浏览器原理、网络、性能优化、框架与库等。这个项目不仅适合正在找工作的开发者,也对想要提升自身技能或希望了解当前前端行业标准的专业人士非常有帮助。 技术分析 该项目采用...

gitblog_00024的博客 330

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Web前端最全JavaScript代码 在项目中高效开发,前端面试知识点总结宝典助你通关

编程基础的初级开发者,计算机科学专业的学生,以及平时没怎么利用过数据结构与算法的开发人员希望复习这些概念为下次技术面试做准备。或者想学习一些计算机科学的基本概念,以优化代码,提高编程技能。这份笔记都是可以作为参考的。开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】↩︎。

2401_84437170的博客 387

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

项目开发中遇到的前端知识点集合(常更新)

项目开发中遇到的js知识点集合(常更新)

weixin_58287721的博客 116

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

前端面试知识点归纳:vue,react,webpack,bable,项目开发

hjhfreshman的博客 327

Web前端最全教程:如何在电脑上运行Node(1),大佬分享开发经验

其实前端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。这里再分享一个复习的路线:(以下体系的复习资料是我从各路大佬收集整理好的)《前端开发四大模块核心知识笔记》最后,说个题外话,我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

2401_84447065的博客 960

2019新版前端与移动开发学习路线图(视频+工具+书籍+资源)

点击可看高清大图点击可看高清大图。

2401_89789477的博客 517

2024年Web前端最新Java进阶(二十六)公司项目开发知识点回顾_java项目开发难点举例,阿里 面试题

从转行到现在,差不多两年的时间,虽不能和大佬相比,但也是学了很多东西。我个人在学习的过程中,习惯简单做做笔记,方便自己复习的时候能够快速理解,现在将自己的笔记分享出来,和大家共同学习。开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】个人将这段时间所学的知识,分为三个阶段:第一阶段:HTML&CSS&JavaScript基础第二阶段:移动端开发技术第三阶段:前端常用框架推荐学习方式:针对某个知识点,可以先简单过一下我的笔记,如果理解,那是最好,可以帮助快速解决问题;

2401_84446919的博客 361

前端学习(1396):项目包含的知识点cookie和session

歌谣的博客 235

2024年前端最新jQuery学习笔记,web前端开发资料

其实前端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。这里再分享一个复习的路线:(以下体系的复习资料是我从各路大佬收集整理好的)《前端开发四大模块核心知识笔记》最后,说个题外话,我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

2401_84438160的博客 1090

2024Web前端网络编程总结篇,vue-cli3 命令行创建项目,web全栈开发

第三步:选择Vue版本第四步:这里选择 no第五步:选择EsLint配置第六步:配置保存的地方第七步:第八步:取消 EsLint 对空格的检查(重点)

2401_83946044的博客 998
上一篇: 单点登录实现流程
下一篇: Linux入门——常用命令
OpenWorld1
博客等级 码龄12年 1粉丝 42原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值