在做H5混合开发的时候总是会遇到浏览器差异、不兼容导致同样的代码,IOS和Andoird其中之一出现不可预见的问题。 我的问题也是如此,我的需求是从父页面跳转子页面,子页面提交后返回父页面,并且父页面刷新。 Android的Chrome浏览器对这个需求就很容易支持,因为他每次页面重新显示的时候,都会刷新整个页面。而IOS的Safari浏览器出现了问题,Safari浏览器会读取缓存,不会重新刷新页面。
之前在项目中遇到一个问题,就是在微信网页上面本来是有返回按钮的,但是大多数人都为了方便,会使用安卓手机自带的物理返回键,这个返回键按下后,就会按照你浏览器的栈存储的路径来一层一层返回,就不执行你页面上的那个返回按钮的操作了,但是这个物理返回键的监听好像没有直接的办法进行,所以有人就想到了曲线的办法
DOM 通过创建表示文档的树,让开发者随心所欲的控制网页的内容和结构。借助 DOM 提供的 API,开发人员可以轻松自如的完成对节点的 CRUD 操作
在开发微信的H5页面的时候,发现ISO的微信内置浏览器后退不刷新了,然而业务实现需要刷新。
由于 js 是单线程,DOM 解析是自上而下的,遇到 link 或 script 标签,去暂停主线程去下载资源,然后再继续解析,主线程在等待网络线程下载的这个时间段就会造成浪费,而 HTML资源提示符 就能很好解决这个问题。
我们经常使用元素的width:100%和height:100%将元素的宽度和高度扩充至父元素的宽度和高度。但是前提是需要对其父元素显示设置宽度和高度,否则无效。
前几天在Python钻石交流群【空】问了一个Python网络爬虫的问题,这个网站不知道使用了什么反爬手段,都获取不到页面数据。
一个html页面由那几部分组成的? html(超文本标记语言)、css(层叠样式表)、js(动态脚本语言)(操作页面上所有元素,让元素具有动态的效果) 前端工程师工作的内容: 拿到UI设计图:切图---->html+css静态布局----->用js写一些动态效果----->ajax和后台进行交互,把数据绑定到页面上---->用nodejs服务平台做源代码的管理---->用nodejs做后台 用到的开发工具有: Dw、sublime、webstrom、hbuild、eclipse...... 将css引
前端安全方面,主要需要关注 XSS(跨站脚本攻击 Cross-site scripting) 和 CSRF(跨站请求伪造 Cross-site request forgery)
需求:Android调用webView加载网页的时候,拦截某一个链接不执行此链接,执行指定跳转到其他activity页面。
所以,为了避免复杂性,从一诞生,JavaScript就是单线程,这已经成了这门语言的核心特征,将来也不会改变。
React 提供的 SSR API 分为两部分,一部分面向服务端(react-dom/server),另一部分仍在客户端执行(react-dom)
3、外部一种实现promise的源码:https://github.com/ygm125/promise/blob/master/promise.js
BOM(Brower Object Model) 即浏览器对象,它提供了独立于内容而与浏览器窗口进行交互的对象,核心对象是 window。
浏览器的一些事件,如:resize,scroll,keydown,keyup,keypress,mousemove等。这些事件触发频率太过频繁,绑定在这些事件上的回调函数会不停的被调用。会加重浏览器的负担,导致用户体验非常糟糕,不知哪个大神发明了防抖和节流,用来控制回调函数的次数。
本文是深入浅出 ahooks 源码系列文章的第九篇,这个系列的目标主要有以下几点:
--------------------------------------------预解释---------------------------------------------------- 数据类型的分类: 基本数据类型 number、string、boolean、null、undefined 引用数据类型 object:{} [] /^$/ Date function 基本数据类型和引用数据类型的本质区别: 基本数据类型是按照值来操作的,引用数据类型是按照内存地址来操作的 思考1: var
前端爱好者的聚集地 最近发现有不少介绍JS单线程运行机制的文章,但是发现很多都仅仅是介绍某一部分的知识,而且各个地方的说法还不统一,容易造成困惑。 因此准备梳理这块知识点,结合已有的认知,基于网上的大量参考资料, 从浏览器多进程到JS单线程,将JS引擎的运行机制系统的梳理一遍,欢迎转发! 展现形式:由于是属于系统梳理型,就没有由浅入深了,而是从头到尾的梳理知识体系, 重点是将关键节点的知识点串联起来,而不是仅仅剖析某一部分知识。 内容是:从浏览器进程,再到浏览器内核运行,再到JS引擎单线程,再到JS事件循
jQuery是一个很常用的js库。甚至我们开发任何一个项目都首先把jquery导入进行。jQuery太过强大,使用起来非常方便。 但是在使用的过程中也遇到过很多坑。我在这里分享一下,避免大家也遇到同样的问题束手无策,也方便以后回归学习。 普通的写法:
先看段代码: console.log(1); setTimeout(function () { console.log(2); new Promise(function (resolve, reject) { console.log(3); resolve(); console.log(4); }).then(function () { console.log(5); }); }); function fn
sort函数蛮常用,但是我的开发日常也仅限于sort(),还是有必要详细陈列 sort可以接受一个函数
Demos: https://github.com/jiangheyan/JavaScriptBase 一、return 1、返回值:数字、字符串、布尔、函数、对象({}、[]、元素、null)、未定义 2、return值==fn(); function fn(a){ return function (b){ alert(a+b); } } alert(fn()) //function (b){ ale
学生管理系统2.0基本功能 基本功能 添加学生功能 展示学生列表功能 删除学生功能 查看学生详情 更新学生数据 实现思路 注册功能思路: 表单设计,点击提交按钮向服务器提交表单数据 在后台获取表单提交的数据,保存到数据库中 先获取表单的标签的数据 保存上传的图片(并保存图片存储的路径) 将表单的数据和图片的路径一起保存到数据库中 保存完成,跳转到列表页,查看新添加的数据 展示功能思路: 先从数据库中获取数据(二维数组arr) 遍历二维数组,将数组中数据渲染到页面中 删除功能思路: 获取要删除数据的id
我们可以将这个定义进行一下拆分: 1、所谓函数节流指的就是一个函数。 2、该函数的执行需要一个周期进行控制。 3、周期内调用该函数不执行,否则会执行。
前提:已安装好docker,不懂安装的可以查看CentOS 7下使用docker-compose部署Django与MySQL实战 https://www.linuxidc.com/Linux/2019-05/158468.htm
(本文年代久远,请谨慎阅读)JQuery是继prototype之后又一个优秀的Javascript库。它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后续版本将不再支持IE6/7/8浏览器。jQuery使用户能更方便地处理HTML(标准通用标记语言下的一个应用)、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页面保持代码和html内容分离。jQuery是一个兼容多浏览器的javascript库,核心理念是write less,do more(写得更少,做得更多)。jQuery的语法设计可以使开发者更加便捷,例如操作文档对象、选择DOM元素、制作动画效果、事件处理、使用Ajax以及其他功能。除此以外,jQuery提供API让开发者编写插件。其模块化的使用方式使开发者可以很轻松的开发出功能强大的静态或动态网页。
JavaScript中所有对象的属性都是公共的,并没有什么明确的方法来表明属性能否从对象的外部被访问,而有时候我们并不希望对象的属性被外界访问。一种方式方式通过命名约定的形式,比如在变量的前面加下划线(_)。还有一些其他的方式是属性完全私有化。
前言 见解有限,如有描述不当之处,请帮忙及时指出,如有错误,会及时修正。 超长文+多图预警,需要花费不少时间。 最近发现有不少介绍JS单线程运行机制的文章,但是发现很多都仅仅是介绍某一部分的知识,而且各个地方的说法还不统一,容易造成困惑。 因此准备梳理这块知识点,结合已有的认知,基于网上的大量参考资料, 从浏览器多进程到JS单线程,将JS引擎的运行机制系统的梳理一遍。 展现形式:由于是属于系统梳理型,就没有由浅入深了,而是从头到尾的梳理知识体系, 重点是将关键节点的知识点串联起来,而不是仅仅剖析某一部分知识
如果看完本文后,还对进程线程傻傻分不清,不清楚浏览器多进程、浏览器内核多线程、JS单线程、JS运行机制的区别。那么请回复我,一定是我写的还不够清晰,我来改。。。
就在前几天,我们讲了两篇关于React 18性能优化和React Server Componment的文章介绍。其中大部分篇幅,都是基于RSC的.
版权声明:博客文章都是作者辛苦整理的,转载请注明出处,谢谢! https://blog.csdn.net/Quincuntial/article/details/52928626
服务器存储网页文件,不执行意思是客户端访问服务器执行返回相关网页内容,执行是服务器要对相关网页执行后再返回,动态页面可以包含静态页面。
大家都知道js是单线程的脚本语言,在同一时间,只能做同一件事,为了协调事件、用户交互、脚本、UI渲染和网络处理等行为,防止主线程阻塞,Event Loop方案应运而生…
下面我们一个一个的来了解 Event Loop 相关的知识点,最后再一步一步分析出本段代码最后的输出顺序。
因为Javascript设计之初就是一门单线程语言,因此为了实现主线程的不阻塞,Event Loop这样的方案应运而生。
本文是深入浅出 ahooks 源码系列文章的第七篇,这个系列的目标主要有以下几点:
1、为什么需要模块化 在JavaScript发展初期就是为了实现简单的页面交互逻辑,网页结构并不复杂,早期简单的网页结构是类似这样的: <!DOCTYPE html> <html> <head> <title></title> <link rel="dns-prefetch" href="xxx.css"> <script type="text/javascript" src="xxx.js"></script> ... </head> <body> ... </b
JavaScript中变量的小驼峰命名法,一般指的是JavaScript的变量的名称或函数的名称采用大小写字母搭配的方式进行命名,比如:folowerName、studentAge,其中N和A是大写的。
三大 JavaScript 主流模块规范:CommonJS、AMD 和 ES6 Module。CommonJS 和 AMD 都未统一浏览器和客户端的模块化规范。目前 Node.js 使用 CommonJS 作为官方的模块解决方案,虽然内置的模块方案促进了 Node.js 的流行,但是也为引入新的 ES Modules(ESM)标准造成了一定的阻碍,不过 Node.js 9.0+ 已经支持 ESM 语法。
在JavaScript发展初期就是为了实现简单的页面交互逻辑,寥寥数语即可;如今CPU、浏览器性能得到了极大的提升,很多页面逻辑迁移到了客户端(表单验证等),随着web2.0时代的到来,Ajax技术得到广泛应用,jQuery等前端库层出不穷,前端代码日益膨胀,这时候JavaScript作为嵌入式的脚本语言的定位动摇了,JavaScript却没有为组织代码提供任何明显帮助,甚至没有类的概念,更不用说模块(module)了,JavaScript极其简单的代码组织规范不足以驾驭如此庞大规模的代码。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/j_bleach/article/details/67642677
首先我们设计一个js函数,让其点击之后触发删除功能,为了防止误删,所以要有个确认的对话框。
何时: 凡是HTML和CSS做出的静态页面,都要用JavaScript添加交互行为后,才能给用户使用
ES 模块为 JavaScript 开发者带来了官方并且标准化的模块系统。模块标准化来之不易,用了近 10 年的时间。漫长的等待就要宣告结束了。随着五月份(2018)即将发布的 Firefox 60,几乎所有的主流浏览器都将支持 ES 模块,并且 Node 模块工作组也正尝试将 ES 模块支持到 Node 环境。本期精读文章和大家一起了解 ES 模块,讨论它能够解决的问题以及与其他模块系统间的差别。
VUE项目iconfont自定义SVG,在线或者离线下载的阿里巴巴icon font.js;并非SVG文件;
做好了项目之后,在各种浏览器里面测试,都没有问题.很高兴,交付后端使用.然而发现在微信自带浏览器里面,却是出现了问题.
XSS(跨站脚本攻击,Cross-site scripting,它的简称并不是 CSS,因为这可能会与 CSS 层叠样式表重名)是一种常见的 web 安全问题。XSS 攻击手段主要是 “HTML 注入”,用户的数据被当成了 HTML 代码一部分来执行。
在网站中,http请求是无状态的。也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户。cookie的出现就是为了解决这个问题,第一次登录后服务器返回一些数据(cookie)给浏览器,然后浏览器保存在本地,当该用户发送第二次请求的时候,就会自动的把上次请求存储的cookie数据自动的携带给服务器,服务器通过浏览器携带的数据就能判断当前用户是哪个了。cookie存储的数据量有限,不同的浏览器有不同的存储大小,但一般不超过4KB。因此使用cookie只能存储一些小量的数据。
一年前写过《前端安全配置xss预防针Content-Security-Policy(csp)配置详解》,我们用CSP保证执行正确的js代码,HTTPs限制文件传输不被篡改,但是,如果文件源被改变了呢?比如CDN被劫持后修改了呢(P劫持≈0,但!=0)
领取专属 10元无门槛券
手把手带您无忧上云