<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[肖皓文]]></title><description><![CDATA[女粉丝很多的小哥哥]]></description><link>https://blog.youkuaiyun.com/qq_39408204</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_39408204]]></copyright><item><title><![CDATA[js区 获取当前客户端系统 环境]]></title><link>https://blog.youkuaiyun.com/qq_39408204/article/details/111491710</link><guid>https://blog.youkuaiyun.com/qq_39408204/article/details/111491710</guid><author>qq_39408204</author><pubDate>Mon, 21 Dec 2020 19:48:07 +0800</pubDate><description><![CDATA[/*
 * @Autor: 肖皓文
 * @Date: 2020-12-21 19:24:11
 */

/**
 * @return { Object }
 */

const ua = navigator.userAgent.toLowerCase();
const platform = {};
const MAP_EXP = {
    Weixin: /micromessenger/i,
    Mac: /(mac os x)\s+([\w_]+)/,
    Windows: /(window.]]></description><category></category></item><item><title><![CDATA[JS获取本地文件的内容 (兼容性处理)]]></title><link>https://blog.youkuaiyun.com/qq_39408204/article/details/110947649</link><guid>https://blog.youkuaiyun.com/qq_39408204/article/details/110947649</guid><author>qq_39408204</author><pubDate>Thu, 10 Dec 2020 10:26:12 +0800</pubDate><description><![CDATA[function upload(input) {
      //支持chrome IE10  
    if (window.FileReader) {  
        var file = input.files[0];  
        filename = file.name.split(".")[0];  
        var reader = new FileReader();  
        reader.onload = function() {  
            .]]></description><category></category></item><item><title><![CDATA[D3 天眼查 股权穿透 股权结构]]></title><link>https://blog.youkuaiyun.com/qq_39408204/article/details/89015757</link><guid>https://blog.youkuaiyun.com/qq_39408204/article/details/89015757</guid><author>qq_39408204</author><pubDate>Tue, 09 Jun 2020 10:18:25 +0800</pubDate><description><![CDATA[效果图如上 大致效果就是仿照天眼查股权穿透图

曲线会出现节点位置不对(曲线的算法是在不会 技术菜解决不了)最后刀放到产品脖子他同意用折线代替

在下面已经补充 JSON数据 把请求换成请求本地json复制下来自己跑 如果不行 加我qq 

写的比较乱 有我没写清楚的地方加我QQ 2557551314



2019.9.18补

图片导出保存

代码贴在最下方...]]></description><category></category></item><item><title><![CDATA[D3  天眼查 股权结构图]]></title><link>https://blog.youkuaiyun.com/qq_39408204/article/details/103799504</link><guid>https://blog.youkuaiyun.com/qq_39408204/article/details/103799504</guid><author>qq_39408204</author><pubDate>Thu, 02 Jan 2020 10:45:39 +0800</pubDate><description><![CDATA[效果大致就是上图 tianyancha上面 该效果叫股权结构 图上信息属于公示信息 不存在泄密

暂时不考虑兼容性和下载 旋转等问题。如有这些问题 可以查看我上一篇股权穿透图 有对应解决方案。

本文直接贴简版代码 不做注释 有问题再加我qq2557551314

d3 用的是v4版本

css


body{ 
	font-family:sans-serif;
	width: 100%;...]]></description><category></category></item><item><title><![CDATA[D3 关联关系图 力学图]]></title><link>https://blog.youkuaiyun.com/qq_39408204/article/details/103799835</link><guid>https://blog.youkuaiyun.com/qq_39408204/article/details/103799835</guid><author>qq_39408204</author><pubDate>Thu, 02 Jan 2020 10:42:24 +0800</pubDate><description><![CDATA[经常分享天眼查 企查查 的一些好的可视化图，是因为本人也是在一家相同性质公司搬砖 经常会被产品强制性要求仿做某个效果图。分享出来就是希望可以帮到大家。有问题 我看到不忙的时候我会回复。

首先该图中信息属于公示信息 不违法也不牵扯机密。

图1 这个是仿照其查查的关联关系图做的 因为本公司数据量小 没有采用企查查做法。当然我之前也吧企查查代码拔下来了参考了下。下面图2 这个是企查查

话不多说...]]></description><category></category></item><item><title><![CDATA[css 多列布局]]></title><link>https://blog.youkuaiyun.com/qq_39408204/article/details/103418238</link><guid>https://blog.youkuaiyun.com/qq_39408204/article/details/103418238</guid><author>qq_39408204</author><pubDate>Fri, 06 Dec 2019 14:26:08 +0800</pubDate><description><![CDATA[记载几种常见的 多列布局方案 ,比较基础 不做解释 看不懂的可以参考文档属性



定宽+自适应

html结构 左侧定宽右侧自适应

消除默认padding,margin并且给左右p标签设置眼色以便区分


    &lt;div class="parent"&gt;
		&lt;div class="left"&gt;
			&lt;p&gt;left&lt;/p&gt;
		&lt;/di...]]></description><category></category></item><item><title><![CDATA[css 水平居中，垂直居中，居中整合。]]></title><link>https://blog.youkuaiyun.com/qq_39408204/article/details/103417268</link><guid>https://blog.youkuaiyun.com/qq_39408204/article/details/103417268</guid><author>qq_39408204</author><pubDate>Fri, 06 Dec 2019 10:22:06 +0800</pubDate><description><![CDATA[记载的都是比较基础的 css常见属性。



child在不固定长宽的情况 分享几种不同居中。

html就公用一种结构，


&lt;div class="parent"&gt;
   &lt;div class="child"&gt;
         wayne
    &lt;/div&gt;
&lt;/div&gt;

水平居中

1.text-align: center +disp...]]></description><category></category></item><item><title><![CDATA[自用reset]]></title><link>https://blog.youkuaiyun.com/qq_39408204/article/details/103251011</link><guid>https://blog.youkuaiyun.com/qq_39408204/article/details/103251011</guid><author>qq_39408204</author><pubDate>Tue, 26 Nov 2019 10:08:41 +0800</pubDate><description><![CDATA[清除和重置是紧密不可分的


/*
 Reset
理念：清除和重置是紧密不可分的
维护：wayne(2557551314@qq.com)
*/

/* 清除内外边距 */
body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, /* structural elements 结构元素 */
dl, dt, dd, ul, ol, li, /* list ...]]></description><category></category></item><item><title><![CDATA[vue   provide & inject 依赖注入]]></title><link>https://blog.youkuaiyun.com/qq_39408204/article/details/100014704</link><guid>https://blog.youkuaiyun.com/qq_39408204/article/details/100014704</guid><author>qq_39408204</author><pubDate>Thu, 22 Aug 2019 14:53:36 +0800</pubDate><description><![CDATA[祖先后代 provide &amp; inject

先简单的BB一下

Vue中父组件到子组件的通信主要由子组件的props属性实现。props一层层传递，爷爷给孙子还好，如果嵌套了五六层还这么写，感觉自己就是一个沙雕（别感觉了），所以这里介绍一个 稍微冷门的APIprovide/inject，专门用来跨层级提供数据，现在很多开源库都使用这个api来做跨层级的数据共享，比如element...]]></description><category></category></item><item><title><![CDATA[Vue  slot插槽]]></title><link>https://blog.youkuaiyun.com/qq_39408204/article/details/100013631</link><guid>https://blog.youkuaiyun.com/qq_39408204/article/details/100013631</guid><author>qq_39408204</author><pubDate>Thu, 22 Aug 2019 14:32:13 +0800</pubDate><description><![CDATA[Vue 中的插槽在开发组件的过程中其实是非常重要并且好用的。Vue 的插槽也没有说很难使用，这篇文章简明介绍三种插槽的用法。

vue官方文档 插槽

匿名插槽

子组件定义 slot 插槽，但并未具名，因此也可以说是默认插槽。只要在父元素中插入的内容，默认加入到这个插槽中去。


&lt;template&gt;
  &lt;div&gt;
    hello &lt;slot&gt;陌生人&...]]></description><category></category></item><item><title><![CDATA[Vue  filters, filter 过滤器]]></title><link>https://blog.youkuaiyun.com/qq_39408204/article/details/98847558</link><guid>https://blog.youkuaiyun.com/qq_39408204/article/details/98847558</guid><author>qq_39408204</author><pubDate>Thu, 08 Aug 2019 10:18:00 +0800</pubDate><description><![CDATA[过滤器

作用：文本数据格式化
	两种过滤器：1 全局过滤器 2 局部过滤器
全局过滤器filter

说明：通过全局方式创建的过滤器，在任何一个vue实例中都可以使用

实例：时间戳对象转换


//组件中调用 过滤器dateFormatYMD

&lt;div&gt;{{ date| dateFormatYMD }}&lt;/div&gt;


&lt;script&gt;

//mi...]]></description><category></category></item><item><title><![CDATA[js 字符串对象 整理]]></title><link>https://blog.youkuaiyun.com/qq_39408204/article/details/98601619</link><guid>https://blog.youkuaiyun.com/qq_39408204/article/details/98601619</guid><author>qq_39408204</author><pubDate>Tue, 06 Aug 2019 15:40:18 +0800</pubDate><description><![CDATA[js字符串用于储存和处理文本。

下面整理下字符串常用操作语法。

1、定义字符串

字符串可以是插入到引号中的任何字符。你可以使用单引号或双引号如：


var name = 'wayne';
var name = "wayne"; 

你也要在字符串中添加转义字符来使用引号如：


var str = 'It\'s is string';
var str1 = 'my name is \"wa...]]></description><category></category></item><item><title><![CDATA[JavaScript获取当前域名 Url 路由路径 路由参数]]></title><link>https://blog.youkuaiyun.com/qq_39408204/article/details/98055052</link><guid>https://blog.youkuaiyun.com/qq_39408204/article/details/98055052</guid><author>qq_39408204</author><pubDate>Thu, 01 Aug 2019 15:17:50 +0800</pubDate><description><![CDATA[一、获取当前域名


var domain = document.domain;


var domain = window.location.host;


获取到的当前域名不包括 http://，如本地 127.0.0.1
所以把获取到的域名使用时候要加上 http://否则单击链接时导航会出错。

二、获取当前Url


　var url = window.location.href;
...]]></description><category></category></item><item><title><![CDATA[sql语句 增删改查]]></title><link>https://blog.youkuaiyun.com/qq_39408204/article/details/97017082</link><guid>https://blog.youkuaiyun.com/qq_39408204/article/details/97017082</guid><author>qq_39408204</author><pubDate>Tue, 23 Jul 2019 18:10:06 +0800</pubDate><description><![CDATA[-- show tables;

-- 新增

--insert into users (username,`password`,realname) values ('lisi','123','李四');

-- 查询

-- select * from users;

-- select id,username from users;

-- 条件查询

-- select * from u...]]></description><category></category></item><item><title><![CDATA[vue  better-scroll滚动插件 实现 左侧滚动监听]]></title><link>https://blog.youkuaiyun.com/qq_39408204/article/details/95486614</link><guid>https://blog.youkuaiyun.com/qq_39408204/article/details/95486614</guid><author>qq_39408204</author><pubDate>Thu, 11 Jul 2019 16:10:05 +0800</pubDate><description><![CDATA[此贴为记录贴 不做备注 有相同需求的 直接贴代码看效果



注意： 通常需要固定一下宽度或者高度 或者使用flex布局方式的话 子内容不要超出父内容宽度


&lt;template&gt;
  &lt;section class="box"&gt;
    &lt;div class="head"&gt;
      head
    &lt;/div&gt;
    &lt;div cla...]]></description><category></category></item><item><title><![CDATA[JavaScript 计算出 指定月份前的时间]]></title><link>https://blog.youkuaiyun.com/qq_39408204/article/details/94601569</link><guid>https://blog.youkuaiyun.com/qq_39408204/article/details/94601569</guid><author>qq_39408204</author><pubDate>Thu, 04 Jul 2019 11:21:56 +0800</pubDate><description><![CDATA[写的小案例 对特殊日期没有做处理 比方 每个月月份不同的天数 可以再加判断去做，仅作参考 写的不好的地方欢迎指出


var arr=['2017-03-31','2018-09-12','2018-12-04','2019-05-01','2019-06-31']

    // 筛选出 数组中 符合规定时间区域的 数据
	
    function getpreDate() {//获取当...]]></description><category></category></item><item><title><![CDATA[javascript 各种宽高]]></title><link>https://blog.youkuaiyun.com/qq_39408204/article/details/93758667</link><guid>https://blog.youkuaiyun.com/qq_39408204/article/details/93758667</guid><author>qq_39408204</author><pubDate>Thu, 27 Jun 2019 08:58:11 +0800</pubDate><description><![CDATA[网页可见区域宽： document.body.clientWidth
	网页可见区域高： document.body.clientHeight
	网页可见区域宽： document.body.offsetWidth (包括边线的宽)
	网页可见区域高： document.body.offsetHeight (包括边线的高)
	网页正文全文宽： document.body.scrollWidth
	...]]></description><category></category></item><item><title><![CDATA[vue图片加载失败默认图片]]></title><link>https://blog.youkuaiyun.com/qq_39408204/article/details/92795270</link><guid>https://blog.youkuaiyun.com/qq_39408204/article/details/92795270</guid><author>qq_39408204</author><pubDate>Tue, 18 Jun 2019 16:30:24 +0800</pubDate><description><![CDATA[css解决方案：


img {
  position: relative;
}

img:after { 
  content: url('替代圖片');
  display: block;
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-co...]]></description><category></category></item><item><title><![CDATA[Object.prototype.toString.call(obj)精确判断对象的类型]]></title><link>https://blog.youkuaiyun.com/qq_39408204/article/details/91492061</link><guid>https://blog.youkuaiyun.com/qq_39408204/article/details/91492061</guid><author>qq_39408204</author><pubDate>Wed, 12 Jun 2019 11:33:06 +0800</pubDate><description><![CDATA[在 JavaScript 里使用 typeof 来判断数据类型，只能区分基本类型，即 “number”，”string”，”undefined”，”boolean”，”object”，“function” 六种。

对于数组、null、对象来说，其关系错综复杂，使用 typeof 都会统一返回 “object” 字符串。

要想区别对象、数组、函数单纯使用 typeof 是不行的，JavaScri...]]></description><category></category></item><item><title><![CDATA[让单行文本以及多行文本溢出显示省略号(…)]]></title><link>https://blog.youkuaiyun.com/qq_39408204/article/details/90667753</link><guid>https://blog.youkuaiyun.com/qq_39408204/article/details/90667753</guid><author>qq_39408204</author><pubDate>Wed, 29 May 2019 11:31:34 +0800</pubDate><description><![CDATA[1，单行省略

当我们在编写网页代码的时候，肯定会遇到过文字列表中的文字太多超出了我们所写的宽度，导致文本换行或者文本超出了界限，我们在做响应式的时候由于是百分比布局，无法计算一行会显示多少个文字，所以这并不是一个好的解决方案，我们使用css3就可以轻松的实现，而且简单好用。

核心css语句：

overflow:hidden; （顾名思义超出限定的宽度就隐藏内容）
	white-space: ...]]></description><category></category></item></channel></rss>