2020-07-08 题目来源:http://www.h-camel.com/index.html
[html] 通过设置表单的target="_blank"来下载文件会被浏览器拦截吗?如何解决?
_blank 浏览器总是打开新窗口来载入
_parent 使文档在父级窗口中载入
_self 使得目标文档载入并显示在相同的框架或者窗口中作为源文档
_top 使得文档载入包含这个超链接的窗口,用 _top 目标将会清除所有被包含的框架并将文档载入整个浏览器窗口。
<a href="b.html" target="_blank">跳转</a>;
在浏览器的新窗口中打开超链接,需要注意:
调用window下的open方法创建一个新窗口的同时,我们可以获得一个创建窗口的opener句柄,但你也许没注意到,通过
target="_blank"点开的窗口活着标签页,子窗口也能捕获opener句柄,通过这个句柄,子窗口可以访问到父窗口的一些属性,
虽然很有限,但是我们却可以修改父窗口的页面地址,让父窗口显示指定的页面。
如果子窗口中存在 window.opener.location.href = "eval.html"; 当b.html被打开时,父级窗口会被重定向到eval.html
解决方式,target = "_blank" rel= "noopener noreferrer nofollow" 限制window.opener的访问。
表单打开新窗口提交正常,但是用js控制提交时会被拦截,浏览器将窗口当成js弹出广告。
但是,如果是用户自行弹出的就不会被拦截,所以在用户触发的一个click事件中写$("#add_build_form").submit();,则正常弹出窗口
[css] 写出固定子容器在固定的父容器下水平垂直居中的布局
主要样式,宽度自设
.container{
display: flex;
justify-content: center;
}
.content{
margin: auto;
}
[js] 模拟 localStorage 时如何实现过期时间功能
1. 重写set方法 形参为3个, key value expired 对应 键 值 过期时间, key value需要转换为json
2. 重写get方法 先判断时间有效性,与当前时间对比,过期则删除, 取出时需要 json.pares
参考来源 https://blog.csdn.net/weixin_43254766/article/details/83618630
https://blog.csdn.net/zhaoxiang66/article/details/86703438
[软技能] 你有写过软件概要设计文档吗?都包括哪些内容?
设计文档也称为技术规范,描述如何去解决一个问题,是保证正确的工作得以完成的最有用的工具。
包括内容:
1. 标题和设计人员
2. 概述
3. 背景
4. 里程碑
5. 目标和非目标
6. 跨团队影响
7. 开放性问题
8. 详细的范围和时间表
9. 现状
10. 建议方案
11. 代替方案
12. 可测试性 监控和报警