在浏览器新窗口中打开的几种方式

在浏览器新窗口中打开的几种方式

场景

在前端业务开发过程中,需要从浏览器新窗口中打开的场景其实也有很多,下面一起来看看,实际应用场景,如下:

1、访问网站内部链接在本窗口打开,访问网站外部链接在新窗口打开

html:

1
// 内部链接地址,本窗口跳转 <a href="//www.hanyi.pro/blog/about">关于我</a>
1
2
// 外部链接地址,新窗口打开
<a href="https://github.com/hxrealm" target="_blank">Github</a>

2、站内搜索,将表单数据提交到新窗口中查询

html:

1
2
3
4
<form method="GET" action="http://www.baidu.com/s" target="_blank">
<input type="text" name="wd" value="hxrealm" />
<input type="submit" name="search" value="submit" />
</form>
阅读更多
你一定知道的 Git 分支模型

你一定知道的 Git 分支模型

本文不是一篇 Git 入门指南也不是对 Git 命令行使用技巧的讲解,而是谈谈作者在过往工作中使用的几种代码版本管理工具的一些体会,同时重点讲解一下 Git 的分支模型。

注:本文中涉及到的图片均来源于互联网。

背景

谈论到代码版本控制,相信大家在项目开发过程中或多或少都有使用过 SVN 和 Git。对代码的更新、提交、合并等操作都非常的熟悉,但是许多人对如何在项目中选择适合的代码管理工具以及对应的工作流却不是很清楚。

最近刚好在团队内组织了一次以”一个成功的 Git 分支模型“为主题的分享活动,旨在同大家一起回顾一下过往项目中使用几种代码版本管理的经历及体会,并以此来讨论 Git 分支模型的适用场景,现将 PPT 中主要内容进行梳理,以内容输出的方式供大家了解。

版本管理工具

项目开发过程中大家可能使用比较多的版本管理工具有:VisualSVNTortoiseSVNBazzarMercurialGitBitkeeper 等等。

其中 VisualSVNTortoiseSVNBazzar 为集中式版本控制系统,MercurialGitBitkeeper 为分布式版本控制系统。

阅读更多
博客从 Jekyll 迁移到 Hexo

博客从 Jekyll 迁移到 Hexo

博客从刚开始的Wordpress迁移到Jekyll那都是发生在 2014 年的事,到现在已经四年了。在这段时间里确实发生了很多事情,近段时间静下心来想想得到了一些感想,我认为“过去的就让它过去,现在重新认识自己,也来得及改变自己!”。

这两天花了几个小时的时间将博客从Jekyll迁移到Hexo,这里主要记录一下操作过程。

建站

按以下命令安装Hexo并初始化blog项目,这里默认用户机已安装node运行环境。

1
2
3
4
5
npm install hexo-cli -g
hexo init blog
cd blog
npm install
hexo server

迁移

_posts文件夹内的所有文件复制到source/_posts文件夹,并在_config.yml中修改 new_post_name参数。

1
new_post_name: :year-:month-:day-:title.md
阅读更多
2017 年终总结

2017 年终总结

一年又过去了,每到年终总想写点什么来记录过去规划未来,不然总感觉有点不自在。

以下是今年的总结:

一、拥有第一辆车

入手了人生第一辆 B 级小轿车,提前实现了 30 岁前的一个小目标。

二、与爱相伴一生

结束了七年爱情之路的漫跑,走进了婚姻的殿堂。让终将迎来花儿盛开的时刻,此生愿与你相伴到老,愿此后的每一天能带给亲爱的甜蜜的快乐!

三、旅行点亮地图

一年间不经意的也去过了北京、昆明、大理、丽江、深圳、东莞、广州、厦门、晋江、九江等城市,亲临奇境,总会有不一样的感受。放飞心情,方能享受!

阅读更多
HTTP 请求中 GET 方法传递数组问题的讲解

HTTP 请求中 GET 方法传递数组问题的讲解

背景介绍

在某前后端分离的项目中有一个根据用户的选择(可多选)查询相关记录的需求,后端接口由 Backend(java)提供。接口格式类似如http://www.domain.com/query?checked=1&checked=2&checked=3,可知其中 QueryString 的参数为 checked=1&checked=2&checked=3。前端为了实现需求将该字段的 key 定义为 checked,value 定义为 1&checked=2&checked=3 的字符串,生成{checked: "1&checked=2&checked=3"}一个对象做为参数,验证结果发现后端不能正常接收到 checked 的参数。

关键要点

  • 前后端分离的项目采用了接口代理(request、http proxy)
  • Backend 接口中定义 checked 为一个枚举类型 (checked)
  • 前端数据对象中 key 不要相同,因此只能采用字符串方式

过程分析

1、检验 GET 请求参数值

1
通过断点调试查看业务逻辑处理过程中生成的GET请求参数值为checked=1&checked=2&checked=3
阅读更多