2020面经——浏览器与HTML(一)

html网页元素加载完后触发哪个事件?

选项有onready onchange onload ?
Onready是先于onload执行的,onload是要等所有元素包括img之类的加载完成之后才会执行的,而onready是只要DOM结构绘制完成就能执行。如果有多个onload函数,它只会执行最后一个函数,而onready是有多少个执行多少个。
不过onready好像是jq里的…


在js的浏览器对象模型当中,windows对象当中什么属性是用来指定用来指定浏览器状态栏里面的临时消息的?

status


addEventListener

可不可以多次给DOM对象添加监听事件?
是可以的。(简述:一个监听对象一般只会有一个监听事件,多余的会移除掉)

可以删除DOM对象的监听事件吗?
removeEvent。


Form标签之间可以出现p、u等非表单域元素吗?

是可以的,form可以包含包括input,文本,单选,复选,textarea等


什么是同源策略?你都知道哪些解决跨域的方法?

什么是同源策略? 同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个IP地址,也非同源。

同源策略限制以下几种行为:

cookie、localStorage 和 indexDB 无法读取

DOM 和 Js对象无法获得 ajax 请求不能发送

1、 通过jsonp跨域

jsonp的原理:

script 标签的src属性可以跨域引用文件,jsonp是请求之后后台包装好一段json,并且把数据放在一个callback函数,返回一个js文件,动态引入这个文件,下载完成js之后,会去调用这个callback,通过这样访问数据。

在浏览器端定义一个回调函数,并将函数名通过src传至服务器端;服务器端将数据包装成为一段js数据,并返回js函数格式的js文件,接着拿到这个js文件之后函数自动调用,拿到后端返回的数据

JSONP 是 JSON with padding(填充式 JSON 或参数式 JSON)的简写。

JSONP实现跨域请求的原理简单的说,就是动态创建

JSONP 由两部分组成:回调函数和数据。回调函数是当响应到来时应该在页面中调用的函数。回调函数的名字一般是在请求中指定的。而数据就是传入回调函数中的 JSON 数据。

动态创建

你可能感兴趣的:(面试)