<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Smart_coding的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Smart_coding</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Smart_coding]]></copyright><item><title><![CDATA[2020-11-27]]></title><link>https://blog.youkuaiyun.com/Smart_coding/article/details/110249285</link><guid>https://blog.youkuaiyun.com/Smart_coding/article/details/110249285</guid><author>Smart_coding</author><pubDate>Fri, 27 Nov 2020 22:42:14 +0800</pubDate><description><![CDATA[记录新的一天，一起加油

]]></description><category></category></item><item><title><![CDATA[js获取浏览器各种宽高]]></title><link>https://blog.youkuaiyun.com/Smart_coding/article/details/110247979</link><guid>https://blog.youkuaiyun.com/Smart_coding/article/details/110247979</guid><author>Smart_coding</author><pubDate>Fri, 27 Nov 2020 21:50:49 +0800</pubDate><description><![CDATA[document.body.clientWidth ==&gt; BODY对象宽度
document.body.clientHeight ==&gt; BODY对象高度
document.documentElement.clientWidth ==&gt; 可见区域宽度
document.documentElement.clientHeight ==&gt; 可见区域高度
网页可见区域宽： document.body.clientWidth
网页可见区域高： document.body.clientHeig]]></description><category></category></item><item><title><![CDATA[解决移动端点击三百毫秒延迟问题]]></title><link>https://blog.youkuaiyun.com/Smart_coding/article/details/109391608</link><guid>https://blog.youkuaiyun.com/Smart_coding/article/details/109391608</guid><author>Smart_coding</author><pubDate>Fri, 30 Oct 2020 19:31:40 +0800</pubDate><description><![CDATA[引入js
! function () {
    "use strict";

    function t(e, o) {
        function i(t, e) {
            return function () {
                return t.apply(e, arguments)
            }
        }
        var r;
        if (o = o || {}, this.trackingClick = !1,]]></description><category></category></item><item><title><![CDATA[获取页面url参数]]></title><link>https://blog.youkuaiyun.com/Smart_coding/article/details/109162308</link><guid>https://blog.youkuaiyun.com/Smart_coding/article/details/109162308</guid><author>Smart_coding</author><pubDate>Mon, 19 Oct 2020 15:51:34 +0800</pubDate><description><![CDATA[// 获取页面url参数
function GetRequest() {
var url = location.search; //获取url中"?“符后的字串
// var url = ‘?_userid=888&amp;qqqq=555’
var theRequest = new Object();
if (url.indexOf(”?") != -1) {
var str = url.substr(1);
strs = str.split("&amp;");
for (var i = 0; i &lt]]></description><category></category></item><item><title><![CDATA[实现竖向滚动轮播，类似通知提醒消息]]></title><link>https://blog.youkuaiyun.com/Smart_coding/article/details/109112437</link><guid>https://blog.youkuaiyun.com/Smart_coding/article/details/109112437</guid><author>Smart_coding</author><pubDate>Fri, 16 Oct 2020 10:58:54 +0800</pubDate><description><![CDATA[&lt;!DOCTYPE html&gt;

&lt;html&gt;

&lt;head&gt;

    &lt;meta charset="utf-8"&gt;

    &lt;title&gt;测试&lt;/title&gt;

    &lt;style type="text/css"&gt;
        /*样式设置*/

        body {
            margin: 0;
        }

        #scroll-box {
            w]]></description><category></category></item><item><title><![CDATA[多个音视频标签只播放一个音视频]]></title><link>https://blog.youkuaiyun.com/Smart_coding/article/details/109111918</link><guid>https://blog.youkuaiyun.com/Smart_coding/article/details/109111918</guid><author>Smart_coding</author><pubDate>Fri, 16 Oct 2020 10:40:31 +0800</pubDate><description><![CDATA[&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;

&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
    &lt;title&gt;Document&lt;/title&gt;
&lt;/head&gt;

&lt;body&gt;
    &lt;audio c]]></description><category></category></item><item><title><![CDATA[移动端rem布局兼容不同屏幕大小js代码]]></title><link>https://blog.youkuaiyun.com/Smart_coding/article/details/109045461</link><guid>https://blog.youkuaiyun.com/Smart_coding/article/details/109045461</guid><author>Smart_coding</author><pubDate>Tue, 13 Oct 2020 10:04:14 +0800</pubDate><description><![CDATA[引入这段代码可以完美兼容移动端不同手机屏幕大小
//designWidth:设计稿的实际宽度值，需要根据实际设置
//maxWidth:制作稿的最大宽度值，需要根据实际设置
//这段js的最后面有两个参数记得要设置，一个为设计稿实际宽度，一个为制作稿最大宽度，例如设计稿为750，最大宽度为750，则为(750,750)
;(function(designWidth, maxWidth) {
    var doc = document,
    win = window,
    docEl = doc.d]]></description><category></category></item><item><title><![CDATA[实现点击复制功能（css，html，js）]]></title><link>https://blog.youkuaiyun.com/Smart_coding/article/details/109045197</link><guid>https://blog.youkuaiyun.com/Smart_coding/article/details/109045197</guid><author>Smart_coding</author><pubDate>Tue, 13 Oct 2020 09:57:17 +0800</pubDate><description><![CDATA[js代码区域
$(".copyNow").click(function(e){
    var text = $('#copycode');
    text.select();
    document.execCommand("Copy");
    if (text.val()) {
        webToast("邀请码复制成功",1000);
    } else {
        webToast("邀请码复制失败",'center',1000);
    }
});

html
&lt;]]></description><category></category></item><item><title><![CDATA[vue中 key 值的作用]]></title><link>https://blog.youkuaiyun.com/Smart_coding/article/details/108973553</link><guid>https://blog.youkuaiyun.com/Smart_coding/article/details/108973553</guid><author>Smart_coding</author><pubDate>Fri, 09 Oct 2020 10:02:50 +0800</pubDate><description><![CDATA[vue中 key 值的作用
1.使用key来给每个节点做一个唯一标识
2. key的作用主要是为了高效的更新虚拟DOM。另外vue中在使用相同标签名元素的过渡切换时，也会使用到key属性，其目的也是为了让vue可以区分它们，
否则vue只会替换其内部属性而不会触发过渡效果。

...]]></description><category></category></item><item><title><![CDATA[v-if 和 v-show 有什么区别？]]></title><link>https://blog.youkuaiyun.com/Smart_coding/article/details/108973456</link><guid>https://blog.youkuaiyun.com/Smart_coding/article/details/108973456</guid><author>Smart_coding</author><pubDate>Fri, 09 Oct 2020 09:58:51 +0800</pubDate><description><![CDATA[请问 v-if 和 v-show 有什么区别？
a.实现方式： v-if是根据后面数据的真假值判断直接从Dom树上删除或重建元素节点。  v-show只是在修改元素的css样式，也就是display的属性值，元素始终在Dom树上。
b.编译过程：v-if切换有一个局部编译/卸载的过程，切换过程中合适地销毁和重建内部的事件监听和子组件；  v-show只是简单的基于css切换；
c.编译条件：v-if是惰性的，如果初始条件为假，则什么也不做；只有在条件第一次变为真时才开始局部编译； v-show是在任何条件下]]></description><category></category></item><item><title><![CDATA[vue组件库生态]]></title><link>https://blog.youkuaiyun.com/Smart_coding/article/details/108318270</link><guid>https://blog.youkuaiyun.com/Smart_coding/article/details/108318270</guid><author>Smart_coding</author><pubDate>Mon, 31 Aug 2020 11:36:21 +0800</pubDate><description><![CDATA[vue组件库
element：VUE2的web UI工具
mint-ui：VUE 2中的移动UI
iview：VUEjs 的开源 UI 库
muse-ui：响应式 UI 库
VUECircleMenu：VUE圆环菜单
VUE-chat：聊天示例
VUE-waterfall：瀑布组件
Keen-UI：基本UI组件
Vux：基于VUE和WeUI的组件库
终于集齐的VUE中的UI组件，不看后悔奥
VUE-carbon：MD风格的移动端
VUE-blu：帮助创建web应用
VUEAdmin：简单的管理员模板
VUE]]></description><category></category></item><item><title><![CDATA[如何用jsonp解决跨域问题]]></title><link>https://blog.youkuaiyun.com/Smart_coding/article/details/108295340</link><guid>https://blog.youkuaiyun.com/Smart_coding/article/details/108295340</guid><author>Smart_coding</author><pubDate>Sat, 29 Aug 2020 15:41:39 +0800</pubDate><description><![CDATA[jsonp解决跨域问题:
利用script标签没有跨域限制的漏洞，网页可以拿到从其他来源产生动态JSON数据，当然了JSONP请求一定要对方的服务器做支持才可以。
「与AJAX对比」
JSONP和AJAX相同，都是客户端向服务器发送请求，从服务器获取数据的方式。但是AJAX属于同源策略，JSONP属于非同源策略(跨域请求)
「JSONP优点」
兼容性比较好，可用于解决主流浏览器的跨域数据访问的问题。缺点就是仅支持get请求，具有局限性，不安全，可能会受到XSS攻击。
「思路????」
创建script标签
]]></description><category></category></item><item><title><![CDATA[day06_vue前端工程化]]></title><link>https://blog.youkuaiyun.com/Smart_coding/article/details/103220657</link><guid>https://blog.youkuaiyun.com/Smart_coding/article/details/103220657</guid><author>Smart_coding</author><pubDate>Sun, 24 Nov 2019 00:35:41 +0800</pubDate><description><![CDATA[###1.模块化的分类
####A.浏览器端的模块化
1).AMD(Asynchronous Module Definition,异步模块定义)
代表产品为：Require.js
2).CMD(Common Module Definition,通用模块定义)
代表产品为：Sea.js
####B.服务器端的模块化
服务器端的模块化规范是使用CommonJS规范：
1).使用require引入其他模...]]></description><category></category></item><item><title><![CDATA[git相关命令]]></title><link>https://blog.youkuaiyun.com/Smart_coding/article/details/102455425</link><guid>https://blog.youkuaiyun.com/Smart_coding/article/details/102455425</guid><author>Smart_coding</author><pubDate>Wed, 09 Oct 2019 10:30:39 +0800</pubDate><description><![CDATA[git config --global user.name  //配置姓名
git config --global user.email  //配置邮箱
git config --list  //查看配置信息
git init 	//初始化本地仓库
git status 	 //查看文件状态
git add 文件名 	//添加某个文件到暂存区，如果写 . 代表当前文件夹下所有的文件、
git co...]]></description><category></category></item><item><title><![CDATA[静态仔的挣扎第02天]]></title><link>https://blog.youkuaiyun.com/Smart_coding/article/details/101470912</link><guid>https://blog.youkuaiyun.com/Smart_coding/article/details/101470912</guid><author>Smart_coding</author><pubDate>Thu, 26 Sep 2019 20:47:38 +0800</pubDate><description><![CDATA[知道模板引擎和
模板引擎和FormData的用法(重点)
模板引擎概述
作用：使用模板引擎提供的模板语法，可以将数据和 HTML 拼接起来。
使用步骤
1.下载 art-template 模板引擎库文件并在 HTML 页面中引入库文件
&lt;script src="/js/template-web.js"&gt;&lt;/script&gt;

2.准备 art-template 模板
&lt;...]]></description><category></category></item><item><title><![CDATA[静态仔的挣扎第01天]]></title><link>https://blog.youkuaiyun.com/Smart_coding/article/details/101316419</link><guid>https://blog.youkuaiyun.com/Smart_coding/article/details/101316419</guid><author>Smart_coding</author><pubDate>Tue, 24 Sep 2019 22:51:02 +0800</pubDate><description><![CDATA[Ajax:让静态页面动起来,成为一名合格的前端人员
学习目标(重点)
** 【理解】AJAX 是什么
【理解】AJAX的应用场景
【应用】AJAX的实现步骤
【理解】AJAX的运行原理
【理解】服务器响应的数据格式
【理解】请求报文与请求参数的格式
【应用】获取服务器端的响应
【应用】AJAX异步编程**
传统网站中存在的问题

网速慢的情况下，页面加载时间长，用户只能等待
表单提交后，如果一项内...]]></description><category></category></item><item><title><![CDATA[day03-数据库概念&mongodb使用&数据库CLUD操作]]></title><link>https://blog.youkuaiyun.com/Smart_coding/article/details/100838516</link><guid>https://blog.youkuaiyun.com/Smart_coding/article/details/100838516</guid><author>Smart_coding</author><pubDate>Sat, 14 Sep 2019 23:02:56 +0800</pubDate><description><![CDATA[数据库概念&amp;环境搭建
目标

能够安装数据库软件
能够知道集合、文档的概念
能够使用mongoose创建集合的方法创建集合

为什么要使用数据库（★★★）

动态网站中的数据都是存储在数据库中的
数据库可以用来持久存储客户端通过表单收集的用户信息
数据库软件本身可以对数据进行高效的管理

什么是数据库（★★★）

数据库即存储数据的仓库，可以将数据进行有序的分门别类的存储。它是独立于语言之...]]></description><category></category></item><item><title><![CDATA[day04-artTemplate&学生档案系统&router&serveStatic]]></title><link>https://blog.youkuaiyun.com/Smart_coding/article/details/100838507</link><guid>https://blog.youkuaiyun.com/Smart_coding/article/details/100838507</guid><author>Smart_coding</author><pubDate>Sat, 14 Sep 2019 23:02:24 +0800</pubDate><description><![CDATA[模板引擎
目标

能够使用模板引擎渲染数据
能够使用模板引擎进行原文输出
能够使用循环输出数据
能够知道如何引用子模板
能够知道如何如何进行模板继承

基本概念（★★★）
模板引擎是第三方模块。
让开发者以更加友好的方式拼接字符串，使项目代码更加清晰更加易于维护
[外链图片转存失败(img-e5YrlUW6-1568473328611)(images/artTemplate.png)]
art-t...]]></description><category></category></item><item><title><![CDATA[JavaScript基础第06天笔记]]></title><link>https://blog.youkuaiyun.com/Smart_coding/article/details/100529884</link><guid>https://blog.youkuaiyun.com/Smart_coding/article/details/100529884</guid><author>Smart_coding</author><pubDate>Tue, 03 Sep 2019 23:06:51 +0800</pubDate><description><![CDATA[JavaScript基础第06天笔记
1 - 内置对象
1.1 内置对象
​		 JavaScript 中的对象分为3种：自定义对象 、内置对象、 浏览器对象
​		前面两种对象是JS 基础 内容，属于 ECMAScript；  第三个浏览器对象属于 JS 独有的， JS API 讲解内置对象就是指 JS 语言自带的一些对象，这些对象供开发者使用，并提供了一些常用的或是最基本而必要的功能（属性和方...]]></description><category></category></item><item><title><![CDATA[JavaScript基础第05天笔记]]></title><link>https://blog.youkuaiyun.com/Smart_coding/article/details/100529878</link><guid>https://blog.youkuaiyun.com/Smart_coding/article/details/100529878</guid><author>Smart_coding</author><pubDate>Tue, 03 Sep 2019 23:06:01 +0800</pubDate><description><![CDATA[JavaScript基础第05天笔记
1 - 作用域
1.1 作用域概述
通常来说，一段程序代码中所用到的名字并不总是有效和可用的，而限定这个名字的可用性的代码范围就是这个名字的作用域。作用域的使用提高了程序逻辑的局部性，增强了程序的可靠性，减少了名字冲突。

JavaScript（es6前）中的作用域有两种：


全局作用域
局部作用域（函数作用域）

1.2 全局作用域
作用于所有代码执行的环...]]></description><category></category></item></channel></rss>