前端浏览器面试题总结

本文总结了前端面试中常见的跨域问题,包括跨域产生的原因及设置document.domain、window.name和使用postMessage等解决方案。同时,探讨了浏览器的重绘和回流现象,阐述了两者之间的联系以及各自的影响。了解这些知识点对于优化前端性能至关重要。
摘要由CSDN通过智能技术生成

1.跨域

产生跨域的原因

浏览器出于安全考虑,有同源策略,也就是说:协议,域名和端口有一个不同,都被当做不同的域,就会产生跨域问题。

解决跨域的方法

1.通过设置相同的document.domain

如果两个网页一级域名相同,只是二级域名不同,那么可以通过设置相同的document.domin属性来共享cookie

document.domin="example.com";
document.cookie="test1=hello"//a网页设置cookie
var allcookie=document.cookie;//b网页可以直接读取到cookie

2.通过设置window.name属性来实现跨域传递数据

//浏览器窗口可以设置window.name属性,只要是在该浏览器窗口下的网页,都可以读取到该属性
//打开网页a,设置window.name属性
window.name='xxx';
//打开网页b,读取window.name属性
var data=document.getElenmentById('myframe').contentWindow.name;

3.通过使用postMessage()方法实现跨窗口通信

如网页http://aaa.com向网页http://bbb.com发送信息

var popup=window.open("http://aaa.com"
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值