云顶娱乐棋牌-云顶娱乐每天送6元
做最好的网站

云顶娱乐棋牌:Chrome开荒者工具不完全指南,页

给列表项目增加动画

2015/05/08 · CSS, HTML5, JavaScript · 1 评论 · 动画

云顶娱乐棋牌,本文由 伯乐在线 - 刘健超-J.c 翻译,周进林 校稿。未经许可,禁绝转发!
加泰罗尼亚语出处:cssanimation.rocks。应接参与翻译组。

当网页某有些发生转移时,增加一些动画片有帮衬让客户精通发生了怎样业务。因为动画能预报新内容的达到,只怕让客户精晓新闻被移除。在那篇文章里,将走访到什么样选用动画扶助新内容的推荐,例如展现或隐敝列表里的品类。

云顶娱乐棋牌 1

(可在原来的小说查看效果)

HTML5的Websocket(理论篇 I)

2017/10/28 · HTML5 · websocket

原稿出处: 走走前端   

先请来TA的邻居:

http:无状态、基于tcp恳请/响应方式的应用层商量(A:哎哎,上次您请小编吃饭了么? B:作者寻思, 上次请您吃了么)
tcp:面向连接、保障高可信赖性(数据无错过、数据无失序、数据无不当、数据无重复达到) 传输层商讨。(看呀,大阅兵,如此规整有秩序)

缘何要引进Websocket:

索罗德FC开篇介绍:本公约的指标是为了消除基于浏览器的顺序要求拉取能源时必需发起八个HTTP央浼和长日子的轮询的难题。

long poll(长轮询): 客商端发送贰个request后,服务器获得这一个一而再,假使有消息,才回来response给客商端。未有音信,就直接不回来response。之后顾客端再度发送request, 重复上次的动作。

云顶娱乐棋牌 2

从上得以见到,http左券的风味是服务器不能够主动交换客户端,只好由顾客端发起。它的被动性预示了在成就双向通讯时索要不停的接连或延续一向展开,那就须求服务器快速的管理速度或高并发的力量,是丰富消耗电源的。

以此时候,Websocket出现了。

Chrome开拓者工具不完全指南:(三、质量篇)

2015/06/29 · HTML5 · 2 评论 · Chrome

初稿出处: 卖BBQ夫斯基   

卤煮在前面已经向大家介绍了Chrome开拓者工具的某些效率面板,当中囊括ElementsNetworkResources基础成效部分和Sources进级效率部分,对于日常的网址项目来讲,其实就是亟需那几个面板作用就能够了(再加上console面板那几个万香精油)。它们的成效大部分情景下是帮忙你进行职能开荒的。然则在您付出使用品级的网址项指标时候,随着代码的充实,成效的充实,品质会日益成为你需求关爱的部分。那么网站的属性难题具体是指什么吧?在卤煮看来,四个网址的性质首要涉嫌两项,一是加载质量、二是进行质量。第一项能够行使Network来分析,笔者随后会重复写一篇有关它的小说分享卤煮的增长加载速度的经验,可是从前,我生硬推荐你去读书《web高品质开辟指南》那本书中的十四条白金建议,那是自家阅读过的最卓越的图书之一,就算独有短短的一百多页,但对你的声援确实不能估摸的。而第二项质量难点就反映在内部存款和储蓄器走漏上,这也是大家那篇文章商量的主题材料——通过Timeline来深入分析你的网址内部存款和储蓄器走漏。

尽管浏览器新滋事物正在旭日初升,每三次网址版本的翻新就象征JavaScript、css的速度更加高效,然则作为一名前端人士,是很有不可缺少去发掘项目中的品质的鸡肋的。在众多性质优化中,内部存款和储蓄器败露比较于其它性能缺欠(互连网加载)不便于发觉和减轻,因为内存败露设计到浏览器管理内部存储器的局地体制並且同一时候涉嫌到到你的编排的代码质量。在一些小的体系中,当内存泄露还不足以令你注重,但随着项目复杂度的充实,内存难题就能够暴暴露来。首先内部存款和储蓄器据有过多导致您的网址响应速度(非ajax)变得慢,就感觉自身的网页卡死了同一;然后您会见到职务处理器的内部存款和储蓄器占用率狂涨;到结尾计算机觉得死了机一样。这种场地在小内部存款和储蓄器的设备上景况会愈发严重。所以,找到内部存款和储蓄器败露何况化解它是管理那类难题的第一。

在本文中,卤煮会通过个人和法定的例证,帮忙各位领悟Timeline的利用格局和深入分析数据的秘籍。首先我们依然为该面板区分为多少个区域,然后对它们中间的一一职能扩充逐条介绍:

云顶娱乐棋牌 3

虽然Timeline在实行它的天职时会显得花花绿绿让人头眼昏花,然而并非顾忌,卤煮用一句话回顾它的职能便是:描述您的网址在一些时候做的事情和显示出的气象。我们看下区域第11中学的作用先:

云顶娱乐棋牌 4

在区域1核心是二个从左到右的时间轴,在运维时它里面会显示出各样颜色块(下文中会介绍)。最上部有一条工具栏,从左到右,贰遍代表:

1、开首运转Timeline检查评定网页。点亮圆点,Timline开始监听专门的学业,在此熄灭圆点,Timeline展现出监听阶段网址的实市场价格况。

2、清除全数的监听消息。将Timeline复原。

3、查找和过滤监察和控制新闻。点击会弹出二个小框框,里面可以搜寻依然突显遮蔽你要找的新闻。

4、手动回收你网址Nene存垃圾。

5、View:监察和控制消息的展现形式,方今有二种,柱状图和条状图,在体现的例子中,卤煮暗中同意选项条状图。

6、在侦听进度中希望抓取的新闻,js仓库、内部存款和储蓄器、绘图等。。。。

区域2是区域1的完全版,即使她们都以显得的音信视图,在在区域2种,图示会变得特别详细,越来越精准。日常我们查阅监察和控制视图都在区域2种举行。

区域3是显得的是有的内部存款和储蓄器新闻,总共会有四条曲线的转移。它们对应代表如下图所示:

云顶娱乐棋牌 5

区域4中显示的是在区域2种某种行为的详细消息和图纸音信。

在对效果做了差不离的介绍之后大家用叁个测量试验用例来领悟一下Timeline的现实用法。

XHTML

<!DOCTYPE html> <html> <head> <title></title> <style type="text/css"> div{ height: 20px; widows: 20px; font-size: 26px; font-weight: bold; } </style> </head> <body> <div id="div1"> HELLO WORLD0 </div> <div id="div2"> HELLO WORLD2 </div> <div id="div3"> HELLO WORLD3 </div> <div id="div4"> HELLO WORLD4 </div> <div id="div5"> HELLO WORLD5 </div> <div id="div6"> HELLO WORLD6 </div> <div id="div7"> HELLO WORLD7 </div> <button id="btn">click me</button> <script type="text/javascript"> var k = 0; function x() { if(k >= 7) return; document.getElementById('div'+(++k)).innerHTML = 'hello world' } document.getElementById('btn').addEventListener('click', x); </script> </body> </html>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <style type="text/css">
        div{
            height: 20px;
            widows: 20px;
            font-size: 26px;
            font-weight: bold;
        }
    </style>
</head>
<body>
    <div id="div1">
        HELLO WORLD0
    </div>
    <div id="div2">
        HELLO WORLD2
    </div>
    <div id="div3">
        HELLO WORLD3
    </div>
    <div id="div4">
        HELLO WORLD4
    </div>
    <div id="div5">
        HELLO WORLD5
    </div>
    <div id="div6">
        HELLO WORLD6
    </div>
    <div id="div7">
        HELLO WORLD7
    </div>
    <button id="btn">click me</button>
    <script type="text/javascript">
        var k = 0;
        function x() {
            if(k >= 7) return;
            document.getElementById('div'+(++k)).innerHTML = 'hello world'
        }
        document.getElementById('btn').addEventListener('click', x);
    
    </script>
</body>
</html>

新建贰个html项目,然后再Chrome中开辟它,接着按F12切换成开荒者形式,选择Timeline面板,点亮区域1左上角的要命小圆圈,你能够看来它形成了新民主主义革命,然后开首操作界面。延续按下button实践大家的js程序,等待全体div的剧情都形成hello world的时候再一次点击小圆圈,熄灭它,那时候你就足以见到Timeline中的图表新闻了,如下图所示:

云顶娱乐棋牌 6

在区域第11中学,左下角有一组数字2.0MB-2.1MB,它的情致是在你碰巧操作分界面最近内,内存拉长了0.1MB。尾部那块青浅莲红的区域是内部存款和储蓄器变化的暗暗提示图。从左到右,大家得以见见刚刚浏览器监听了五千ms左右的一颦一笑动作,从0~四千ms内区域第11中学列出了全数的场地。接下来大家来精心深入分析一下那几个情状的具体音讯。在区域2种,滚动鼠标的滚轮,你会看出时间轴会放大减少,今后大家乘机滚轮不断缩时辰间轴的限制,大家能够见见有个别每个颜色的横条:

云顶娱乐棋牌 7

在操作分界面时,大家点击了贰次button,它开销了大约1ms的小时成功了从响应事件到重绘节目标有的列动作,上海教室正是在789.6ms-790.6ms中做到的本次click事件所发出的浏览器行为,其余的事件表现您同一能够透过滑行滑轮裁减区域来旁观他们的境况。在区域2种,每一类颜色的横条其实都表示了它和谐的特别的意义:

云顶娱乐棋牌 8

老是点击都回到了地点的图一律实行多少事件,所以我们操作分界面时发生的事务能够做多个大致的掌握,大家滑动滚轮把时光轴恢复生机到原始尺寸做个总体解析:

云顶娱乐棋牌 9

能够见见,每三回点击事件都陪伴着部分列的成形:html的重复渲染,分界面重新布局,视图重绘。非常多场合下,每种事件的发生都会引起一多级的变动。在区域2种,大家得以经过点击某多个横条,然后在区域4种特别详细地考察它的现实新闻。我们以推行函数x为例观看它的施行期的情景。

云顶娱乐棋牌 10

随着在事件爆发的,除了dom的渲染和制图等事件的发出之外,相应地内存也会发生变化,而这种变动大家得以从区域3种见到:

云顶娱乐棋牌 11

在上文中已经向我们做过区域3的介绍,大家得以见见js堆在视图中不断地再进步,那时因为由事件产生的分界面绘制和dom重新渲染会促成内存的充实,所以每贰遍点击,导致了内存相应地拉长。同样的,假使区域3种其余曲线的变通会引起紫中黄线条的退换,那是因为另外(金红代表的dom节点数、铁灰代表的平地风波数)也会据有内存。因而,你能够经过紫藤色曲线的转移时势来规定别的个数的生成,当然最直观的格局就是阅览括号中的数字变化。js内部存款和储蓄器的成形曲线是相比较复杂的,里面参杂了许多成分。我们所列出来的事例实际上是很轻松的。如今相信您对Timeline的行使有了确定的认知,上面大家因此一些Google浏览器官方的实例来更好的摸底它的遵守(因为见到示例都不可能不FQ,所以卤煮把js代码copy出来,至于简单的html代码你能够本人写。借使能够FQ的同窗就不在乎了!)

云顶娱乐棋牌:Chrome开荒者工具不完全指南,页面中的。(合法测量检验用例一) 查看内部存储器增加,代码如下:

JavaScript

var x = []; function createSomeNodes() { var div, i = 100, frag = document.createDocumentFragment(); for (;i > 0; i--) { div = document.createElement("div"); div.appendChild(document.createTextNode(i

  • " - "+ new Date().toTimeString())); frag.appendChild(div); } document.getElementById("nodes").appendChild(frag); } function grow() { x.push(new Array(一千000).join('x')); createSomeNodes();//不停地在分界面创造div成分 setTimeout(grow,1000); }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var x = [];
 
function createSomeNodes() {
    var div,
        i = 100,
        frag = document.createDocumentFragment();
    for (;i > 0; i--) {
        div = document.createElement("div");
        div.appendChild(document.createTextNode(i + " - "+ new Date().toTimeString()));
        frag.appendChild(div);
    }
    document.getElementById("nodes").appendChild(frag);
}
function grow() {
    x.push(new Array(1000000).join('x'));
    createSomeNodes();//不停地在界面创建div元素
    setTimeout(grow,1000);
}

因而一再施行grow函数,大家在Timeline中来看了一张内部存储器变化的图:

云顶娱乐棋牌 12

由此上海体育地方可以见到js堆随着dom节点增加而狠抓,通过点击区域第11中学顶上部分的垃圾桶,可以手动回收部分内部存款和储蓄器。符合规律的内部存储器剖判图示锯齿形状(高低起伏,最后回归于开头阶段的档案的次序地方)并非像上图那样阶梯式增进,假若您看见暗黑线条未有减退的动静,何况DOM节点数未有回去到起来时的多少,你就足以困惑有内部存款和储蓄器走漏了。

上面是一个用特别花招体现的健康例子,表明了内部存款和储蓄器被制造了又怎么被回收。你能够阅览曲线是锯齿型的光景起伏状态,在终极js内部存储器回到了早先的动静。(合法示例二)   js代码如下:

JavaScript

var intervalId = null, params; function createChunks() { var div, foo, i, str; for (i = 0; i < 20; i++) { div = document.createElement("div"); str = new Array(1000000).join('x'); foo = { str: str, div: div }; div.foo = foo; } } function start() { if (intervalId) { return; } intervalId = setInterval(createChunks, 1000); } function stop() { if (intervalId) { clearInterval(intervalId); } intervalId = null; }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
var intervalId = null, params;
 
function createChunks() {
    var div, foo, i, str;
    for (i = 0; i < 20; i++) {
        div = document.createElement("div");
        str = new Array(1000000).join('x');
        foo = {
            str: str,
            div: div
        };
        div.foo = foo;
    }
}
 
function start() {
    if (intervalId) {
        return;
    }
    intervalId = setInterval(createChunks, 1000);
}
 
function stop() {
    if (intervalId) {
        clearInterval(intervalId);
    }
    intervalId = null;
}

实践start函数若干次,然后实践stop函数,能够生成一张内存剧烈变化的图:

云顶娱乐棋牌 13

还应该有不菲合法实例,你能够通过它们来察看各个场地下内部存储器的改动曲线,在此地大家不一一列出。在此间卤煮选用试图的款式是条状图,你能够在区域第11中学选取别的的显示方式,那几个全靠个人的欢快了。简单的说,Timeline可以扶助大家解析内部存款和储蓄器变化景况(Timeline直译正是时间轴的情致吧),通过对它的体察来规定本人的品种是还是不是留存着内部存款和储蓄器败露以及是什么样地点引起的泄漏。图表在显示上尽管很直观不过缺点和失误数字的确切,通过示图曲线的扭转大家能够理解浏览器上发出的平地风波,最首要的是探听内部存款和储蓄器变化的方向。而只要你指望尤其剖析这个内部存款和储蓄器状态,那么接下去你就足以张开Profiles来专业了。那将是大家这一个种类的下一篇作品要介绍的。

1 赞 9 收藏 2 评论

云顶娱乐棋牌 14

让浏览器不再彰显 https 页面中的 http 供给警报

2015/08/26 · 基础手艺 · HTTPS, 浏览器

初稿出处: 李靖(@Barret李靖)   

HTTPS 是 HTTP over Secure Socket Layer,以安全为对象的 HTTP 通道,所以在 HTTPS 承载的页面上不容许出现 http 央浼,一旦出现正是投砾引珠或报错:

Mixed Content: The page at ‘‘ was loaded over HTTPS, but requested an insecure image ‘’. This content should also be served over HTTPS.

HTTPS改动之后,咱们得以在相当多页面中见到如下警报:

云顶娱乐棋牌 15

多多运行对 https 未有本事概念,在填写的数目中难免出现 http 的财富,种类变得庞大,出现马虎和漏洞也是不可翻盘的。

Web质量优化系列(2):深入分析页面绘制时间

2015/04/15 · CSS, HTML5, JavaScript · 属性优化

本文由 伯乐在线 - 刘健超-J.c 翻译,sunbiaobiao 校稿。未经许可,禁绝转发!
爱沙尼亚语出处:www.deanhume.com。应接参预翻译组。

目前,笔者在场了在London举行的推特(TWTR.US)移动开垦者大会。在这天时期,有不胜枚举的攀谈,但真正让本身关爱的是一场关于品质的,名称为“让m.facebook.com更快”的沟通会,它的宗旨是有关推文(Tweet)怎么样不断努力革新网页品质和从当中得出的经验。

Facebook支付公司是选用Chrome Cannry来测验网页CSS性能的。Google Chrome Canary怀有Chrome的流行性情,并允许试用一些快要成为Chrome规范版本的,可行的新型本性。怀念到Chrome Canary作为四个为开辟者和尝鲜者特意规划的“预览版”,所以不时候会因Chrome开辟组织的迅猛迭代而变成一些B UG。固然如此,它仍旧有一点点很棒的开采者工具支持您测量试验网页性能

云顶娱乐棋牌 16

在这篇文章里,笔者出示怎么着行使Chrome Canary的开垦者工具去稳固你的CSS中的一有个别,这有的CSS大概会产生页面滚动缓慢和影响页面包车型大巴绘图时间。当浏览器加载和制图页面时,为了“绘制”并让内容展现在显示屏上,须求遍历全部可知成分。由于那重视于布局和复杂性的CSS,你可能会开采绘制时间会很短。那会导致网页看起来忽动忽停和响应极慢。这种缓慢滚动也称之为jank(jank是Android系统的三个专门的学问术语,指的是荧屏上朗朗上口动态画面中断的卡顿现象)。在活动设备上滚动页面时,浏览器会全心全意地绘制复杂的CSS,那时这种情景进一步显著。

就算页面包车型大巴加载时间比相当的慢,也仍然值得去斟酌页面包车型客车绘图时间。分裂道具对CSS属性有着不均等的感应,但无论怎么着,能增加质量总是一件很好的事。为了扩充测量检验,首先得去Google Chrome网址下载Chrome Canary。一旦设置完毕,就足以张开你想测量检验的网页。HTML5 Rocks网址里有二个很好的案例网站,大家选用它来评释高功耗CSS属性的操作,会增添页面包车型的士绘图时间。

云顶娱乐棋牌 17

一经你展开到那些网页,按下F12,会弹出Chrome的开拓者工具。然后在开拓者工具的底层侧边点击设置按键,开启测验页面渲染品质的安装。

云顶娱乐棋牌 18

点击后会显示二个允许你改换设置的调控板。

云顶娱乐棋牌 19

因为我们要测量试验页面的渲染品质,所以选择“Enable continuous page repainting(页面持续重新绘制)“和 “Show FPS meter(显示FPS仪表)”**。如若您关闭设置面板,查看你的网页,你应该会看出上面包车型地铁图纸在页面右上角。

云顶娱乐棋牌 20

该表突显以阿秒为单位的当下页面绘制所需时日,而侧面呈现了前段时间图表的一丝一毫与最大值。别的,也展示了多年来80帧的树状图。这么些图片的强硬之处是它不独有试图重新绘制页面,使得页面好疑似率先次加载。那允许你准明确位因CSS影响的绘图难点,而不用每便重复加载页面。无论你的改造是或不是产生潜移暗化,树状图都会不停监测。

借使我们详细查看那么些页面包车型的士HTML和CSS,你拜访到当中贰个div增多了某个CSS效果。

云顶娱乐棋牌 21

以此div有border-radius(圆角)和投影属性。当移除box-shadow属性,再观察FPS meter在绘制时间的变迁。

云顶娱乐棋牌 22

哇!正如你从图片可知到,页面绘制时间有一个让人关怀的浮动。通过轻易地将border-radius属性移除,就可以证实那些改动能让页面的绘图时间料定滑坡。当您更新或改换CSS品质时,那么些图形就立即下跌。在同贰个要素上同一时间使用box-shadowborder-radius,会产生非常重的绘图担负,那是因为浏览器不能为之做出优化。假若有三个因素必要屡屡的重复绘制,你应有在确立网页时时刻记住这一点。

那是多个很好的,在Google IO 网站上的摄像,它更浓厚地阐释绘制时间,并介绍一些减小网页“jank(卡顿)”的本事。

想更上一层楼读书绘制时间的优化,看看这一个链接。

祝测量检验欢畅!

打赏支持自个儿翻译越多好小说,谢谢!

打赏译者

引入内容

动画片有个很好的用途,它亦可让访客知道你的网址内容在几时发生了转移。当增多或删除内容而从不别的动画进行交接时,内容的黑马更换会让客商认为嫌疑。而通过抬高细微的卡通就能够幸免这种气象时有发生,何况有利于“发布”有东西将要离开或引入页面。

以下是三个因而抬高或删除操作来治本列表内容的事例。大许多动画片能用于别的门类的从头到尾的经过。假如您发觉它们是实用的,或有另外想法想增多进去,那么请 联系我们,大家很乐意听听你的主见。

Websocket是什么:

LacrosseFC中写到:WebSocket公约使在调整情状下运转不受信赖代码的顾客端和力所能致挑选与那多少个代码通信的长途主机之间能够双向通讯。

对,划重点:双向通讯

Websocket在连接之后,客商端能够主动发送音讯给服务器,服务器也足以继续努力向顾客端推送音信。譬如:预定车票消息,除了大家发央浼询问车票如何,当然更愿意就算有新音讯,能够直接布告大家。

其特点:

(1)握手阶段采取 HTTP 左券,暗中同意端口是80和443

(2)建设构造在TCP合同基础之上,和http左券同属于应用层

(4)能够发送文书,也得以发送二进制数据

(5)未有同源限制,顾客端能够与自由服务器通信

(6)左券标记符是ws(即使加密,为wss),如ws://localhost:8023

归纳来讲,Websocket商讨分成两有个别:握手和数码传输。

云顶娱乐棋牌 23

CSP设置upgrade-insecure-requests

幸好 W3C 职业组考虑到了大家晋级 HTTPS 的不便,在 二〇一六 年 二月份就出了二个 Upgrade Insecure Requests 的草案,他的功能就是让浏览器自动晋级伏乞。

在大家服务器的响应头中出席:

header("Content-Security-Policy: upgrade-insecure-requests");

1
header("Content-Security-Policy: upgrade-insecure-requests");

小编们的页面是 https 的,而这几个页面中蕴涵了多量的 http 财富(图片、iframe等),页面一旦发掘存在上述响应头,会在加载 http 财富时自动替换来 https 诉求。可以查阅 google 提供的一个 demo:

云顶娱乐棋牌 24

可是令人不解的是,那一个资源发出了五遍呼吁,估计是浏览器完毕的 bug:

云顶娱乐棋牌 25

当然,假诺大家不平价在服务器/Nginx 上操作,也得以在页面中投入 meta 头:

XHTML

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />

1
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />

此时此刻支撑那一个装置的还唯有 chrome 43.0,可是笔者信赖,CSP 将改成以后 web 前端安全努力关注和动用的内容。而 upgrade-insecure-requests 草案也会急速进入瑞虎FC 格局。

从 W3C 职业组给出的 example,能够看看,那些装置不会对别国的 a 链接做拍卖,所以能够放心使用。

1 赞 收藏 评论

云顶娱乐棋牌 26

打赏协理小编翻译越多好小说,多谢!

任选一种支付格局

云顶娱乐棋牌 27 云顶娱乐棋牌 28

赞 2 收藏 评论

编写HTML代码

在一上马,筹划好贰个已提早填充好的列表和三个得认为该列表增加新品类的开关。

XHTML

<ul id="list"> <li class="show">List item</li> <li class="show">List item</li> </ul> <button id="add-to-list">Add a list item</button>

1
2
3
4
5
<ul id="list">
<li class="show">List item</li>
<li class="show">List item</li>
</ul>
<button id="add-to-list">Add a list item</button>

但有一点点地点供给小心。首先,在HTML代码里有多个 ID。平时的话,我们不会用 ID 来设置样式,因为它们的独一性会引进一些难点。但是,它们会在运用 JavaScript 时提供了便利性。

发端列表项目有类名 “show”,正因为那是类名,我们将会在末端通过它为成分增加动画效用。

Websocket API:

此处是指客户端 API。

有关小编:刘健超-J.c

云顶娱乐棋牌 29

前端,在路上... 个人主页 · 我的篇章 · 19 ·     

云顶娱乐棋牌 30

本文由云顶娱乐棋牌发布于云顶娱乐棋牌,转载请注明出处:云顶娱乐棋牌:Chrome开荒者工具不完全指南,页

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。