>> TOMAS REIMERS：嗨，大家好。
我叫托马斯赖默斯。
>> MIKE RIZZO：我是麦克里佐。
>> TOMAS REIMERS：我们是两个CS50s变性人。
而今天我们领先的研讨会 JavaScript和CSS的Web应用程序。
如果你想跟随的 链接就在那边。
而你想要把它 在电脑上简单地？
>> 还有的链接。
这是一个小的网站，里面有链接 所有我们要成为资源
今天指着你，也有很多的 写的我们有用的信息
阅读更深入，当你回去， 和你想记住什么
我们到底说的话，是你 议论纷纷，等等。
>> MIKE RIZZO：好吧。
因此，让我们开始。
>> TOMAS REIMERS：所以，你要开始？
确定。
>> MIKE RIZZO：是啊。
因此，我们首先要开始广泛 概述关于互联网和
在设计网站时的文件类型。
虽然此演示文稿不是我们不想 进入到JavaScript的很多很多
后来，我们想用开始 只是，那种，像一只鸟的眼睛视图
一个什么样的网站是如何 想想设计
网站的开始。
>> 所以你们，在这一点 - 它 是星期五晚上 - 应该有
提交您的CS50融资 习题集。
我们希望，这是一个好味道 什么web编程即可。
但在这里我们想，善良，给 你另一种味道，也是如此。
>> TOMAS REIMERS：所以只是为了回顾一下 发生，当您在您的网址输入
您的Web浏览器，该URL获取 在电脑抬起头来。
与您的计算机的连接 到另一台计算机，
它承载该网站。
好了，当你去到google.com，你 连接到谷歌的一
计算机，其具有 文件google.com。
>> 它然后请求一个特定的文件。
所以，如果你去 -
我不知道 -
example.com / index.html或/ test.html的， 你要去问
该特定文件。
与Web服务器的打算 将它归还给您。
>> 然后，一旦你通过这个文件 -
一旦你的计算机得到的 文件 - 这将启动
建立一个网页。
所以，现在它有HTML文件， 这是有点像
网页的结构。
HTML文件也可能会参照 CSS文件，它定义了
式的网页。
>> JavaScript文件，它定义 与网页交互。
图像文件，这只是影像。
并可能链接到其他HTML文件， 然后你可以访问。
>> MIKE RIZZO：好，太好了。
所以，你们都有，也许， 精心设置你的本地主机
在你的虚拟机。
而这只是，那种，是当地 你的电脑只有主机域名
为你在你自己的IP地址。
>> 所以在这一点，那么你可以添加 它自己的网页。
我的意思是，在CS50财经，你应该有 增加了一些HTML页面，这是，
排序的，裹在PHP包装器。
但最终，你的PHP页面 被输出为HTML格式。
>> 但回想起一开始 在PSET，我们不得不设置
权限的一切，对吧？
因此，这基本上只是让我们知道 谁可以读取，写入，和可能
执行每个文件。
所以我们要做一个快速的 - 嗯？
>> TOMAS REIMERS：所以我们要 做一个快速演示。
因此，只是为了提醒你，当你 连接到谷歌的电脑 -
谁 -
并请求文件时，计算机首先 需要确保你的授权
实际查看该文件或阅读 文件，因为你不能只问
该计算机上的任何文件，对不对？
这将是一个安全隐患。
>> 因此，在我们使用的系统，如文件 这CS50家电，有三个
谁可以拥有一般人 权限的东西。
第一个是实际 表示文件所有者。
二是组 该文件属于。
我们不会把重点 太多了。
而最后一件事是，排序的，像 世界还是和其他人一样谁的
不是特定于该文件，并且不 有超过它的任何所有权。
>> 因此，如果我们有所有者，组， 然后世界。
然后，对于每个这些基团中，则 可以有三种权限之一，
OK，或多他们。
你可以有读取权限。
你可以有正确的权限。
你可以有执行权限。
>> 所以在实际的文件类型而言，读 权限是像实际阅读
该文件的内容。
右许可写作 到上述文件。
的执行权限运行 文件，当您运行一个像你这样做
您的CS50项目。
>> 所以，当我们正在考虑文件 就像当我们需要读一个HTML
文件，需要将世界 可读的，对不对？
据推测，也希望业主 能够编辑该文件。
所以店主的将需要 读取和写入权限。
他们并不真正需要执行。
>> 集团，我们要治疗 同样作为世界现在。
所以他们需要的读取权限。
但他们并不需要写 或执行权限。
而现在，如果我们回想起前 pset时，我们体会到什么是这几样
看起来像二进制，对不对？
1代表肯定。
0表示没有。
我们实际上可以翻译 此为二进制。
>> 所以在二元110将是6。
100将是4。
同样与世界。
这样的数量，你会得到的 这个权限应该是644。
>> MIKE RIZZO：如果你回想一下 当你chmoded的东西，我相信
它们中的问题得到设置 例如，你可以这样做
像CHMOD 644 然后文件名。
644那么，你现在可以直接看到 从何而来。
所以希望，使该 更加清楚一点。
>> 然后你家伙的清晰度 -
哦，是的，这是这里了。
所以，600随后也只是例子 我们放弃了这里那里的主人有
阅读和正确的权限，而组 和世界上没有任何权限
访问该文件。
>> TOMAS REIMERS：然后我们有一个快速 常见的权限列表。
这样的目录，你要 实际搭配chmod 711。
快速拨出 - 为一个目录有 可执行权限表示，能够
来打开该目录。
图片，CSS，JavaScript的HTML需求 644因为，基本上，在世界
需要读取权限。
>> 和PHP，这你们见过 虽然我们不会谈论它
严格通常chmoded与 因为它的运行许可600
所有者的权限。
至少在设备上。
>> MIKE RIZZO：所以，如果你不明确 指定哪些类型的文件
要在实际设置 达此演示文稿 -
我们有这个问题，因为 一切都没有chmoded正确 -
你会得到那种，一 Forbidden错误，该网站
实际上不具有权限 访问任何文件
你想它来访问。
当然，也可以是固定的 - 在问题设置 - 通过改变
适当的权限。
>> TOMAS REIMERS：而对于最后一个注释 当地迅速发展 - 我们
提出这个问题，但我们只是想 要重提这个话题 -
如果你问一个服务器 - 所以本地主机， 例如，COM或什么 -
你不指定特定的文件， 您的电脑会文件
要问的是index.html。
或者，如果不存在，index.php文件。
>> 凉爽。
所以，这只是一切的回顾一下， 但愿，我们已经涵盖在
部分，讲座， 到目前为止在CS50。
现在我们要开始讨论 关于具体的库。
JavaScript和CSS库 对于Web应用程序。
>> 因此，一个快速的原因，我们有 库是编程 -
有很多的问题 编程，它不断弹出
又一次，又一次，又一次。
您可能会注意到有很多网站 需要有下拉的能力
的菜单，例如，或需要的能力 有一个非常标准按钮
式，它可能不 最简单的事情。
现在，你开始得到转换成HTML，你 意识到按键实际上可以
看起来真难看，如果你 什么也不做。
>> 所以很多人都写 所谓库。
在这方面，他们是 也被称为框架。
我们将使用 2互换。
和它们是什么是他们基本上 预制件的代码 -
无论是CSS或JavaScript -
那带走大量的 组队你有编码。
>> 所以他们预先定义一组类或 预先定义一组函数
JavaScript的情况下，这 你可以调用以后。
然后你就可以，有点，得到 访问该代码，而
不必做任何事情。
该库的一个例子是CS50.H. 这是我们给你回库
在一个星期内，允许你做 这样的事情调用getInt和GetString
无需编写 自己的任何代码。
>> MIKE RIZZO：好吧。
所以在这里，就像我们必须包括 在我们的c文件的不同
图书馆，我们也应该包括在 我们的HTML文件不同的库。
例如，如果我们想包括 这里特定的JavaScript库，
也许，一个我们已经写 自己作为它的本地托管
所谓的script.js，我们只是 使用这个符号。
>> 因此，我们有脚本类型的equals JavaScript源代码的equals
JavaScript.js。
如果你回想一下你的CS50 金融问题设置，如果你在看
header.php文件中的模板文件夹， 你应该已经看到
其中的一些包括在内。
所以这第一个 - 脚本 -
是包含一个JavaScript库。
包括一个CSS库 有一点点不同。
>> 这里，代替脚本 标记你需要的链接标签。
然后，在文本的CSS型 有一点不同。
你并不总是必须包括 REL样式表。
但我认为这是，通常， 好的做法。
>> 然后最后，HREF，你 也许在你的ATAGs看到的链接
在不同的环节只是指定 在哪里可以找到该链接。
例如，如果我们想要把一个 不同的库 - 我们只能说 -
那住在styles.css的。
我们想链接在这 托管在网络上，我们会复制。
然后将其粘贴到任何 我们就在这里吧。
>> TOMAS REIMERS：好吧，希望你 你们已经很熟悉
与如何链接的CSS。
你所要做的是在 你最后的褐色集。
JavaScript中，有些人也许 有一定的经验。
你们当中有些人可能不会。
>> 所以现在，知道一个JavaScript文件 很象在CSS文件中
您可以链接到它或意识 您可以在内部包含它。
它可以让你的脚本的东西。
而我们将引导您通过 JavaScript的稍后一点。
>> 因此，使用一个库 -
一旦你已经包括了它，它的作为 简单的字面调用
功能或添加 类名给它。
我们要谈的最后一件事 有关图书馆方面 -
这更多的是一种技术说明 -
是开源许可。
所以，当你发现这些实际的库， 你可能会想到的
问题是喜欢就OK，我只是 使用别人的代码，特别是
因为这是我们非常 告诉你在这个过程中无法做到的。
>> 因此，在开源许可的情况下， 很多开发者 -
一旦他们已经写了一个库， 他们认为可能是
帮助别人 -
将它发布到网上 并给它一个牌照。
和牌基本上说，我在此 授予权限给其他
人们使用这个软件 具有下列排序
规定。
>> 我们提供了一个链接到一个很好的网站， 帮助您了解在牌照
如果你碰上他们。
常见的规定是一样的东西 欢迎您使用我的图书馆等等
只要你给我的信用。
欢迎您使用我的图书馆 只要当它打破
你不要怪我。
欢迎您使用我的图书馆这么久 因为你不使用它来赚钱
为你自己。
这是种常见的 规定。
>> 对于这个CS50最后的项目，他们 不应该是超级重要，因为
那你们使用的项目 大概是有点，有点，称为。
但是当你真正就往 世界并开始使用的库，这
可能会或可能不会，以及实施 一些比较流行的我们
将要经历的一切。
这是很好的能够理解 这些许可证，并
明白他们的意思。
和回头路。
>> MIKE RIZZO：确定。
所以，现在移动到实例 实际的CSS。
在这一点上，到目前为止，你可能 没有遇到过这一点。
但你可能已经在遇到它 你每天的生活，那里的东西
看起来单程在一个浏览器 可能看起来不一样
这样在另一个浏览器。
>> 这就是所谓的浏览器的浏览器 兼容性。
并日益它变得越来越 更大的问题，特别是作为
浏览器把越来越多的自由 实现的事情，因为他们想要的。
因此，要克服的是，这里居然是 一个伟大的图书馆称为Normalize.CSS。
>> TOMAS REIMERS：我们包括的链接。
在这一点上，它是有益的，如果 你有你的笔记本电脑在那里
看着现场。
我们正在给你给这个权利 现在仅仅是因为CS50最终
项目实际上是要 请你来实现它
同样，通过浏览器。
>> 因此，只要保持你的背部 头，这是一个奇妙库
排序的，因为它会， 标准化的东西。
在Firefox中，一些可能会显示 作为一个像素到左边。
然后Chrome浏览器可能会决定，实际上 你的意思是10个像素
到左边。
并且要规范这一点。
标准化将真正做一个真正的好 确保就业网站
看起来是一样的跨浏览器。
>> MIKE RIZZO：所以，如果我们想刚 点击链接真的很快，并显示
你是什​​么样子，你 可以使用下载的
巨大的下载按钮。
或者，我鼓励您阅读更多关于它 通过点击下此链接
右上角。
>> TOMAS REIMERS：如果你真的 点击阅读更多就在那里 -
点击GitHub上源 -
你会真正看到了开源 在LICENSE.md特许权存在。
你会看到这里是 非常流行的MIT许可。
同样，如果你通过文字阅读， 你就可以找到它在网站上
我们之前引用，并能 了解它，而不必阅读
通过法律术语。
>> MIKE RIZZO：好，太好了。
这就是标准化。
我们想给你 那真的很快。
哦，你有问题吗？
>> 观众：所以当你下载它，你 只要按照这些代码，他们有
在下载按钮？
>> TOMAS REIMERS：是的，所以 当你下载 -
>> MIKE RIZZO：哦，那是一个伟大的一点。
所以现在的问题是怎么办 我们实际上下载呢？
因此，如果我们点击链接，我们看到 它实际上弹出
在源代码。
因此，要做到这一点，我们可以 做的只是单击另存为。
另存为和应 打开一个文件。
然后我们可以选择保存 它作为normalize.CSS。
然后你必须在挂靠 -
>> TOMAS REIMERS：用同样的方法你 在任何其他文件链接。
而一旦你的联系起来，什么是伟大的 关于标准化是它实际上将
利用所有的辛苦照顾 本身的工作。
这意味着你不必 添加任何类。
>> 你不必做任何事情不可思议。
这将正常化，没有你 进一步做任何事情。
是的，你必须把它列入。
谷歌Chrome浏览器没有响应。
>> 只是一个快速拨出 -
我注意到我们跳入这一点。
此演示文稿的其余部分是 将是一个快速概述。
图书馆的调查。
>> 基本上，它们是什么。
他们做了什么。
他们怎么是有用的。
你会如何​​实现它们。
如果你想开始看着他们， 沿以下，并通过阅读
他们，我会极力鼓励。
>> 另外，欢迎你也来 开始下载它们，包括
他们一见倾心只是为了看看他们 看起来像或者他们做，如果你有什么
你的笔记本电脑在你的面前。
如果没有，欢迎您继续 听我们说话。
我们将继续谈判。
我们有时间的尽头，有希望 我们将真正进入你展示
什么一些这些库 样子。
>> MIKE RIZZO：酷。
好吧，那么现在让我们来谈谈 关于字体真棒。
>> TOMAS REIMERS：所以字体真棒是 很整洁的网站，特别是对那些
我们谁是少的艺术 才华。
无视名称字体真棒，它给 你一堆的图标，这是
非常有用的。
所以很多时候，你会实施 图标，你可能要像一个漂亮的x这样
您可以关闭一些东西。
>> 或者你可能想一些编辑按钮 用像铅笔画
每个人都有。
而当你学习这 绘制这些图标可以
非常繁琐和困难。
真棒字体 - 如果你真的 去工地 -
为您提供了很多图标下 该图标在顶部。
是啊，就在上面。
它会给你很多 图标是免费的。
>> 所以在这里你看我们有事情像 星号，酒吧，闪电，一
日历，一个错误，一本书，等等。
这可以是非常有用的。
你有这个问题的方法是你有 从字面上的CSS文件。
而你已经包含了CSS文件之后， 你可以做的是创建一个
标签叫一它satands的 与类FA图标
站立字体真棒。
然后，你想要的任何类。
>> 所以，如果我想这加一个图标 在这里广场，我想给
它的类足总杯。
然后足总杯连字符加连字符广场。
>> MIKE RIZZO：冷，确定。
>> TOMAS REIMERS：然后，最后的CSS 库，我们希望我们打通
试图保持它在极小的CSS 库，因为我们不知道的
此演示文稿的标题 是JavaScript库。
但我们认为，大家不妨 您介绍的其他库
当我们在谈论库。
>> 这是谷歌的Web字体。
什么谷歌网页字体可以让你 要做的就是添加字体到你的网站，
这是一个非常简单的方法，使 漂亮，来区分你的设置
从其他人的是，如果它有 一个漂亮的字体，或者如果它有一个很好的
收集的字体。
谷歌Web字体是不错不像其他 在这个意义上的库，这是一个
真正引导安装。
>> 所以，如果你按照链接，它的 google.com / fonts下，我相信。
如果你遵循这一点，你 可以选择你的字体。
你可以选择从左侧 厚度，倾斜，等等。
然后，一旦你选中的人， 您可以点击快速使用。
就在那里。
盒子的右下角。
>> 然后，向下滚动。
首先，他们给你的CSS，这 你需要实际链接到它。
它就在那里。
你可以复制和粘贴英寸
而关于这一个好处是 你实际上并不甚至需要
下载该文件。
>> 什么是它要做的是它会 链接到谷歌的版本吧。
所以回到什么意思。
这意味着，当一个用户 下载你的文件 -
下载你的HTML页面 - 你的HTML 页面将引用此文件。
>> 那么，你的电脑是怎么回事，看看， 哦，这是托管在google.com，而
比theirsite.com。
让我去问问谷歌该文件。
然后，它要包括 它几乎就好像它是一个
您自己的网站的一部分。
>> TOMAS REIMERS：酷。
而一旦你有这一点，那么到 它包括在你的CSS，它可以让你
实际线路。
所以，你设置属性的字体系列 等于你的字体的名称。
>> MIKE RIZZO：确定。
因此，我们刚完成的CSS。
和一些你可能会想，好吧， 我们对CS50财经一些CSS。
但CSS库是引导。
我们实际上包括引导一点点 后来下的JavaScript，因为与
自举的CSS库也来 有大量的JavaScript的
引导或Twitter - 谁做引导 -
用来管理所有的CSS。
>> TOMAS REIMERS：有没有人有任何 到目前为止，关于CSS中的一般性问题？
我们是好？
真棒。
>> MIKE RIZZO：真棒。
>> TOMAS REIMERS：所以移动 上到JavaScript。
>> MIKE RIZZO：所以我们想谈 关于jQuery的开始。
有没有人听说过的jQuery 或使用前呢？
是啊，一对夫妇？
所以，如果你只是与本地合作 JavaScript中，你会发现自己
键入长了很多选择的很多。
那么，jQuery也为它提供了 一个漂亮的包装器的JavaScript
语言，让你轻松选择 和操纵不同的元素
的文档对象模型中 网页或DOM中，我认为
你们已听说过 演讲在这一点上。
>> TOMAS REIMERS：如果你还没有听说过 它，如果你还没有看过讲座
然而，文档对象模型是 基本上事情是如何表示的。
因此，HTML有点看起来像一棵树 当你真正把它画出来。
您对上面的HTML元素。
你的头部和身体。
>> 然后，在您 拥有一切。
这就是被称为DOM -
文档对象模型。
所以这代表对象模型 该文件是一个简单的方法去思考
有关。
以及约jQuery的伟大的事情之一 是不是真的让穿越
这一点，在操作件 这令人难以置信的简单。
>> 就这么简单，事实上，大多数的 JavaScript库或者如果不是
多数，盛大大部分的人 你会看到真正需要这样的jQuery
他们可以简单地运行自己 因为如果你没有jQuery的，你
会浪费很多时间试图 弄清楚如何选择特定的
元素和如何做其他事情。
而关于jQuery的另一个伟大的事情 是它的跨浏览器兼容。
>> 所以记得当我们说， 不是所有的浏览器都实现
东西是一样的呢？
这是真实的，即使在JavaScript中。
以及约jQuery的伟大的事情之一 是，它将检测
浏览器和检测 适当的方法。
>> 所以，如果你需要选择一个元素， IE浏览器可能会说你是
应该做的这种方式。
火狐可能会说正确的 方法是这样的。
jQuery的不关心。
当你告诉了jQuery选择 元素就会弄清楚它是如何
应该在浏览器中做的 用户目前处于，然后执行
这种方式。
>> MIKE RIZZO：所以我们不要谈 jQuery的的用法一点点。
就像PHP，jQuery有一个特定的 钟爱的美元符号。
所以，你会发现，任何的jQuery -
还有，不是所有的。
你有时可以取代美元 签署与字jQuery的。
但是总体来说，只是因为它的 短，每当你看到的jQuery是
使用它会是一个美元符号。
>> 所以在这里我们只是展示一个开始 选择器在DOM中的元素。
在这里，我们有美元符号后面跟 通过开放的括号，然后报价。
并在引号内去我们的选择 对于不同的元件。
就像在CSS中，我们需要选择到 可以不同样式的元素
内的页面。
这些不同的选择翻译 正好到jQuery和JavaScript的，
在大多数情况下。
>> 所以在这里，我们有一个点富。
所以，如果你还记得的讲座， 点只是意味着这个类。
因此，我们选择元素 与类Foo。
所以，如果我去进取，不断开拓我们 JavaScript控制台这里真的很快
只是演示一下，如果我只需键入 美元符号，我们看到它的一些
函数，来了。
它只是用jQuery的定义。
>> TOMAS REIMERS：对于那些你 陌生，控制台是一个工具
在Chrome浏览器，它允许你， 基本上，在运行JavaScript
当前页面。
这一点，你会发现非常有用的，当 你实际上是在调试和你
需要被人喜欢，什么是当前 一些全局变量的值还是什么
是什么东西？
这有点像GDB除外 你实际上可以
操作页面上的元素 它在一个容易得多的方式。
还没有，基本上，检查 与你它做任何事情。
>> 而如此，GDB可能是这样，你 确定要执行的下一个步骤？
控制台的现实。
因此，作为网页的渲染和 做什么它做，
理事会的运行也沿着它。
你可以把转嫁给代码转换成 该控制台，这将
在页面上运行。
>> MIKE RIZZO：所以要进入控制台， 我想我应该简要地
提到如何做到这一点。
在那你可以有最后的问题 使用Chrome的检查项目
功能或查看页面源代码 -
而那些只是通过正确的访问 单击页面或特定的
元素和做任何检查 元素或查看页面源代码。
我们还可以访问JavaScript 控制台直接
选择检查项目。
这样，那么你只需点击控制台 在最右边。
>> 或者，你可能也不见了 到右上角，
这是此屏幕上切过的地方 它有三个横条。
和你去到的工具和 然后JavaScript控制台
在这些地方可以看到 -
至少在Windows上 -
快捷键是控制移位J.所以后来 如果我们想选择一个元素
此页面中，就像我展示 之前，我们做的美元符号开括号
然后引用。
>> 一个有趣的事情是，通常， 单引号和双引号
交换。
所以，很多人只使用单一的 引号，因为他们更快地输入
比双引号，因为你不知道 必须按住Shift键。
所以我就做了现在。
>> 所以我要选择的东西 带班。
容器，只是因为我知道这是 东西是我们的
网页现在。
和我打回车。
而且我们可以看到，它选择了它。
因此，它显示了它 返回的对象。
所以这是一个基本的选择。
如果我们想要真正操纵它， 你将不得不调用的东西
关于该选择，这 我们将在后面进入。
>> TOMAS REIMERS：所以刚才看那个 更深入的，这是没有什么不同
比我们在C中所做的函数调用 该函数在这里的名称是
一点都不奇怪。
这是美元符号。
这只是一个函数的名称。
没有什么特别的地方。
>> 我们有开括号。
那么，我们有我们的一个参数， 在这种情况下，恰好是一个字符串，
这是一个选择器，用于它。
然后，我们有我们的 闭括号。
就是这样。
>> 这并不是说完全不同。
虽然它看起来很怪异。
并可以排序的，是症结 点了很多人。
>> MIKE RIZZO：那么同样，如果我们想 要选择具有一个ID的元素，
现在我们要选择由 ID而不是类。
这将是一个类似的事情，我们 只是做了尖锐的迹象ID。
因此，我们选择在这里所有 具有ID栏中的元素。
>> TOMAS REIMERS：这延伸。
该CSS的延伸。
就像在CSS中，你可以选择所有 链接，其中有类Foo。
在这里，这是同样的事情。
>> 你可以这样做a.foo，这将选择 所有的类Foo的链接。
你可以做一个尖锐的酒吧，这将 选择与ID栏等的链接
上等等。
任何CSS选择器是一个有效的 jQuery选择器。
>> MIKE RIZZO：是啊。
好了，现在让我们进入一点点 操作，我们可以做的
我们的jQuery。
所以，jQuery有一个特定类型 符号在这里我们只是使用的
一个点结束。
你也可以认为这就像在 Ç我们如何有不同的结构。
并进入这些结构，你会 使用点来进入他们。
>> 这是一种，类似的事情。
只是现在我们在这个函数 选择器，我们可以在它上面调用。
所以在这里，第一个例子 你可以看到的是一个CSS选择器。
基本上，那是什么呢是它 适用于第一个元素的CSS这个
您选择的事情 -
你选择了这个元素 -
同的值，该值。
>> TOMAS REIMERS：这么一个简单的翻译 那将是如果jQuery的，基本上
只是把富。
然后在CSS中说， 颜色红色和关闭。
这是同样的想法。
它的选择是什么，它​​的完成是 所有foo的元素。
然后它的应用。
排序的，属性颜色 等于红色。
>> MIKE RIZZO：同样，我们也可以改变 什么是实际内容
示的网页的HTML，这 是真的很酷，因为这意味着你的
现在的网页可以是完全动态 并且不必是静态的
你打印出来使用PHP 在最开始
页面正在加载。
所以在这里，如果我们想改变 页面的实际的HTML，我们现在
调用的HTML功能，那么就 无论我们指定插入到
我们选择的元素。
所以在这里我们选择用元件 类Foo，然后说这是HTML
它现在的hello world。
>> TOMAS REIMERS：当你想想 什么是有用的应用
这个，这个CSS之一，第一件事， 你可以开始考虑是
来讲甚至下拉菜单。
你可以开始做的事情，比如，当 用户将鼠标悬停在顶部
一个下拉，你想 底部的一部分可见。
对不对？
>> 所以在CSS中，我们有物业 使一些可见。
诸如此类显示结肠无 将使它不可见。
显示块将使其可见。
或者即使你想去简单，你 有喜欢的东西平等的知名度
可见，能见度等于隐藏。
>> 而你可以开始实施的东西 像下拉菜单右侧
之后你通过怎样的想法得到 你能弄清楚这时候打开，
我们将通过得到很简单的。
但是，我们可以开始看到 这个应用程序。
在类似的意义上说，如果你要尝试 并实施，让我们说，一个聊天
引擎和你想一点点 当你已经讲话泡沫上来
有一个新的消息，一旦你的 新的消息，你可以做一个小
语音气泡上来，通过改变 该页面的HTML，对不对？
通过添加额外的讲话泡沫 在有多余的文字。
是吗？
>> 观众：所以，你会在这个嵌入 在有点像在HTML代码
[听不清]？
>> MIKE RIZZO：对。
是的，我们会到达那个 在一点点。
是的，这是一个类似 点点的PHP。
不完全相似。
>> 一个很好的区分，使是这 实际上是在编辑的时候，我们编辑
该网页，因为它不会是 编辑被作为实际文件
保存在服务器上，因为世界 应该没有权限
编辑您的文件。
这仅仅是编辑什么的在页面上 和什么正在显示的内
浏览器。
所以，如果你是后重新加载页面， 说，删除的东西，因为我们
看，我们可以通过remove调用做， 那个东西会再出现。
>> TOMAS REIMERS：那么一种方式来思考 这是，如果我是你的电脑和
迈克是，排序的，服务器。
这是怎么回事发生的是我要去 问迈克，嘿嘿，我可以有一个副本
这个网页？
他会给我一个副本。
>> 不，这不是原来的东西。
这只是一个副本。
然后它会像哦， 还有的JavaScript这里。
很显然，我应该编辑 页面是这样。
而且我编辑您的副本。
>> 但是，这并不影响 实际的复制。
如果我要问他了 刷新页面， -
哎，我可以有另一块干净的副本 -
他打算给我 另一块干净的副本。
然后，我会做同样的事情 像，哦，这个JS这里说
编辑这个。
而且我会继续这样做。
>> MIKE RIZZO：所以一个非常酷的事情 你可以做jQuery是
实际上添加不同类型 的动画到你的页面。
我不知道你是否见过哪里 你想一个填写表格
在网上，你不填写 在正确的事情。
因此，一个小东西滑下 在顶部和你说
没有正确地做到了这一点。
请再试一次。
然后，它甚至可能只是向上滑动。
>> 原来jQuery的内置函数 使这一切
动画真的，真的很方便。
所以有第一淡出 出功能，
你可以调用的东西。
这是一个方法来改变的CSS 以动画方式的元素。
因此，需要什么元素 你怎么称呼它淡出的。
然后，慢慢地改变了它的不透明度 直到它完全透明的。
>> TOMAS REIMERS：其他流行的一种 被滑下，这将使
事情出现滑动下来。
因此，在下拉菜单的情况下， 再次，当我们学会了如何检测
这时候已经盘旋， 你能告诉这个底部
现在部分向下滑动。
然后，它会出现 通过滑了下来。
>> MIKE RIZZO：然后，如果你只是有 考虑到某些类型的动画的
jQuery的不一定提供。
例如，让我们说的jQuery 并为您提供幻灯片
向下滑动起来。
好了，让我们说你想滑 从左侧或从东西
右边有点像CS50 主页不会每当
你去一个新的面板。
那么你可能会得 使用自己实现的
在jQuery的动画功能。
>> 所以同样，你只是动画。
然后，在其内它需要一个 不同的价值观字典
那你应该通过。
所以在这里，如果我们想要的动画 元素富使得无论其宽度
膨胀或收缩为80像素， 这取决于它目前是。
我们只是传递，作为 在它的参数。
>> 动画也有一些其他的参数 你可以通过它，例如，
动画的速度 你想给它。
要做到这一点，我只想说 很快谷歌jQuery的动画。
然后，造就了这个页面，你可以 看它有一堆不同
属性，您可以通过它。
>> 我鼓励你 - 只要你来 跨越你做的东西不
知道或者只是想了解更多的 您可以调用特定的方法
的东西 -
它只是谷歌。 jQuery是非常 有据可查的。
很多时候有很多的 例子，他们提供给你。
如果我们向下滚动 -
一路下来 -
我们可以使用，以及。
>> 同样，当一个开发人员实际上去 通过书面的麻烦
图书馆，他们通常希望 有人使用它。
因此除了将要 是一个文档。
而且文档通常可以 该项目的页面，这是上找到
为什么我们给你在原来的网站 开始的时候，哪个环节你到
项目页面，以便您可以 请参阅文档。
>> 通常情况下，在该情况下，项目的页面 的[听不清]，它告诉你
类的名称。
在JavaScript的情况下，它给 你的函数的名称。
顺便说一句，如果我们向上滚动到顶部， 在功能的快速侧面说明是
每当你看到实现的功能 像这样的硬
括号在中间，该装置 即该属性是可选的。
只是抬起头来。
我已经看到了很多问题 有关。
>> 所以在这里我们可以看到， 动画需要的属性
作为一个必要的参数。
其他一切都是可选的。
侧面说明 -
你能想到这一点，排序 ，如手册页。
手册页是对C文件和 对于很多其他的事情，也是如此。
>> MIKE RIZZO：因此，我们已经学会了如何 改变不同的CSS在页面上，
制作动画，并删除添加HTML。
但真正最强大的一个 关于JavaScript的事情
尤其是jQuery的 -
它可以让你做的是应对 这种情况发生不同的元素。
举例来说，在这里我们有 一个事件处理程序。
而这仅仅意味着每当这个 事件发生时，我们处理它的
特定的方式。
>> 所以在这里，通用jQuery的事件 处理程序是准点到达。
然后，你所提供的第一件事 是什么样的事件它应该
被监听。
所以在这里，它的点击是 我们在等待。
>> TOMAS REIMERS：或者，你有 上悬停，这是一个非常流行的一种。
所以，回到我的下拉菜单的想法。
你将不得不顶一个悬停。
然后你可以改变这一点。
>> MIKE RIZZO：对。
然后，当发生这种情况时，仅有 执行此功能，我们给它
作为参数，而 它会提醒打招呼或喜。
>> TOMAS REIMERS：所以的情况下， JavaScript中，这是我们需要的地方
从C中删除自己，我们实际上可以 把函数作为参数。
这里面有很多真正 复杂的方式来做到这一点。
我们要推动的一种方式， 这是你可以定义
功能在那里。
>> 因此，当你要求一个功能 一个参数，你基本上只是
要定义函数 当场。
和你定义了一个函数的方式 在JavaScript中是你
从字面上说的功能。
然后，通常，该名称 的功能。
但我们永远不会引用 再此功能。
所以我们把它无名。
>> 然后在括号，则卷曲 括号，然后在该代码。
因此，我们明白这罐 是有点混乱。
所以，我们给你的一般形式 事件处理程序是什么样子
下面，这是对事件。
然后，你的代码里面的那个。
>> MIKE RIZZO：是否有任何 关于这个问题吗？
这可以是一个有点混乱 你第一次看到它。
>> TOMAS REIMERS：实际上，你要 打开一个文件，并告诉他们一些
jQuery的权利吗？
>> MIKE RIZZO：是啊，让我们做到这一点。
确定。
>> TOMAS REIMERS：所以现在我们 在家电。
而我们所做的就是我们已经采取了 同时建立一个index.html的自由
文件，该文件链接到 一个JavaScript文件。
而且我们可以打开 -
是的。
那么，它做了两件事。
>> 首先是它链接到 JavaScript文件。
我们会看到，在这里。
我们看到，在该头部 HTML文档，尤其是。
所以，你会看到那里， 我们基本上说的SRC，
它代表源。
这就是该URL。
>> 所以在这里你可以说我们已经 包括jQuery的。
而且我们还包括脚本。
另一种方法，包括JavaScript是 您可以包含一个内嵌的脚本
标签，因为我们有在底部的地方 说脚本类型是文本的JavaScript。
>> 所以我们说，听着，我们是 即将包括一个脚本。
并且该脚本的类型是 JavaScript中，这是一种文字。
很简单。
>> MIKE RIZZO：原来这，样的，到达 您对我们如何有问题
JavaScript的在我们的文件，因为当我们 PHP了，我们做这样的事情。
然后，有我们的PHP函数 - 让我们说做个股
一些与该 -
去那里。
但是，现在我们有脚本标记 我们给它，这实际上是
在HTML本身的一部分，因为它不是 伪造是喜欢它的HTML文件
是在PHP中，因为如果你真的去 并查看页面的源代码，
你会看到这些脚本标记在那里 与JavaScript的关联
他们说。
>> 那么，如果我们想 写一些JavaScript -
我们只能说，我们想改变身体 因为现在我没有
任何其他标​​记，我真的可以 编辑除了身体。
远的不说，我想 改变的CSS。
因此，我们将继续和变化 它的颜色为红色。
>> 于是我保存文件。
让我们回到我们的网页，刷新， 它会自动执行它
因为它似乎并不像它等待 在所有的，因为我们没有听
一个事件或类似的东西。
>> TOMAS REIMERS：因此，如果我们回到那个 文件特别 - 在HTML
文件 - 你将成为怎样 看到的是我们有 -
记住，这被加载时， 排序，按时间顺序。
因此，我们必须首先在头部。 它加载这两个文件。
然后，我们去的身体。
而我们看到的hello world。
因此，我们提供的hello world。
>> 然后我们有过去的事情 是我们的脚本标记。
所以它运行的脚本标记，因为它是 不告诉它要等待什么。
这就是最基本的 的方式来运行JavaScript。
>> 随着中说，你可以把脚本 在标题标签了刚
表明这一点呢？
并运行。
我们要注意到，它 并没有改变颜色。
而且这是存在的问题之一 JavaScript是一种东西是装
按时间顺序。
>> 所以在当时那个代码 正在运行，我们选择了 -
回去 -
身体标记。
body标签还不存在，因为 JavaScript是与HTML行。
因此，浏览器就像是选择身体。
有没有这样的事情呢。
所以我们可以忽略。
我们继续前进。
>> 然后我们定义一个body标签。
但永远不会被更新。
因此，当你执行脚本 标签，请确保您放置
在body标签后。
下一张幻灯片。
>> MIKE RIZZO：确定。
所以我们改变了一些东西。
但它并没有像它回应 我们都因为那种只是
只要它加载的页面做了。
而不是做这个所以现在，为什么 不，我们添加一个事件处理程序。
>> 因此，让我们做一些事情 到身体一次。
让我们说，我们这样做的 -
单击。
我们将添加一个功能。
>> TOMAS REIMERS：让我们改变 它的颜色为红了起来。
为什么不呢？
>> MIKE RIZZO：是啊，让我们改变 其“颜色红了起来。
好的。
因此，让我们重新加载页面。
OK，我们看到 -
正如所料，它不会变成红色呢。
但是，我们可以继续前进，点击它。
>> TOMAS REIMERS：而且它会变成红色。
>> MIKE RIZZO：而且它 变红预期。
>> TOMAS REIMERS：我们可以看到如何 我们可以开始建立非常基本的
互动。
我们可能想要做的其他事情是， 如果我们不想让身体
颜色红，让我们在HTML 背景颜色为红色。
只是因此它是相同的CSS。
>> 而当我们改变它，我们可以看到这款 改变非常显着的效果
整个页面。
如此反复，如果你正在实现的事情， 你可以有一个组件
其目的是要被单击。
比方说，一个Exit按钮， 整个其他成分
这是为了应对。
所以，你会去掉一个窗口 当这种情况发生。
>> MIKE RIZZO：确定。
正如一个例子 -
你没有看到这个前面 -
我就告诉你是什么样子 当我们隐藏着什么喜欢的。
所以我会继续前进，不要向上滑动。
>> TOMAS REIMERS：想换行，在一个 款型在我们这样做？
>> MIKE RIZZO：确定。
是啊，我们为什么不这样做只是让 我们可以选择它多一点。
>> TOMAS REIMERS：而且我们 给它一个类。
>> MIKE RIZZO：是啊。
好了，让我们来看看。
而是选择实际身体 现在，我就选择与一切
类你好，在这里我们 只是有一件事。
所以我们不应该 担心。
>> 所以我会刷新它。
我会继续前进，点击它。
而且，排序，做了一个奇怪的幻灯片 起来的事情，这看起来并不
有吸引力的。
一般情况下，他们看起来相当不错。
我猜，这 - 对于一些 原因 - 没有。
我就做一个淡出这样 你可以看一下这一点。
更漂亮。
>> 然后，如果我打开JavaScript的 再次安慰，我们希望看到什么
看起来，当我们淡化它。喜欢
现在，我只需要调用淡入就可以了。
和它消失。互动
>> 同样的，我们实际上可以同时传递 参数淡入或淡出，
一种是，它的速度。
因此，让我们继续前进，说，我们要 它去慢慢淡入。
所以我想它还是显得 相当快。
但它是比以前慢。
>> TOMAS REIMERS：如果你想找到 更多有关这些事情，再次，
刚去的jQuery文档， 我们已经给你了，看
通过这些。
他们记录他们的职能 令人难以置信的好。
>> MIKE RIZZO：确定。
所以我想，让我们回到这一点。
我们可以谈论我们的最后一页。
好了，我们可以引导完成。
然后我们再打开它 对一些问题。
如果你们有任何想法， 你想尝试扔了，看看
如果我们可以实现它们 JavaScript的快。
>> 所以，真的很快大约引导，这 被自动包含在
你的最后一个问题在CSS文件夹设置 实际上在链接到您的
header.php文件。
所以，你可以添加类 在引导被定义它。
并且它会自动风格 这些东西相应。
>> TOMAS REIMERS：所以引导是一个非常 由国人开发的神奇的东西
在Twitter的。
以及它是为了做的是 -
之前网站真的很难做 看起来不错，尤其是当我们有
很多常见的组件。
所以很多的按钮 网页看起来都一样。
>> 很多文本字段，可向 看起来比标准文本更好
现场你可能知道，从真 旧网站或真的不好做
网站，这只是看起来像文字 文本框没有任何形式的文本
阴影或任何种类的漂亮轮廓。
那么什么引导所做的就是它说，好， 我们有很多共同的风格。
我们为什么不做出一套共通的CSS 和一套通用的JavaScript作为
好，这可以风格原样并 能给人之类的东西下降
下拉菜单，它可以给人们 事情像模态。
>> 莫代尔是什么在弹出的页面 每当它严格说来
东西，这进一步抑制 互动，直到你
与它进行交互。
这样的事情是，你确定 要删除这东西？
你真的不能做任何事情 直到你说yes或no。
>> 花了这一切，它封装了 一起说，我们开始吧。
人们现在可以使用这个。
你可以找到它了 在getbootstrap.com。
它会自动包含在 你最后的问题集。
而你更欢迎 您的最终项目中使用它。
如果你想遵循 链接得到引导。
>> 你会在这里看到的是 引导的CSS网站。
你会看到引导。
如果你向下滚动，你会看到 如何下载它，如何
安装它，等等。
>> MIKE RIZZO：你也可以， 有趣的是，自定义，以
是什么样的主题 你想要的。
我知道这件事情我做我的 当我把类声明为final项目
是自定义。
不同版本的自举的那个 有不同的配色方案，
一些不同的形状 不同的事情。
所以，我鼓励你与玩。
这是一种有趣的事情。
>> TOMAS REIMERS：在顶部寻找 再次，这是非常相似的字体
网站真棒！
很多文献将启动 当你已经让自己看起来类似
看够了吧。
所以在这里，我们有CSS 此组件。
你会看到它是如何 可以风格的东西。
所以，如果你点击的表，例如， 可以瞬间让一个
表很简单地增加 在类表中给它。
>> 同样的事情按钮。
如果你简单地添加类BTN和BTN 违约或干训局主，你可以
得到这些按钮的任何一个 这些预制的样式。
然后，如果你正在寻找 东西不是简单的更复杂
改型什么瓦特已经有了，在上 在顶部我们JavaScript的标签
有一堆组件。
>> 所以在这里我们有转变，情态动词， 下拉菜单，选项卡和工具提示。
工具提示是在你什么弹出 鼠标，当你在徘徊的东西。
Popovers，警报，按钮，可折叠 手风琴是什么
它们通常被称为。
旋转木马，而翻转 通过像图像。
>> 因此，这些都是组件 的引导。
我会鼓励你 高度去看待他们。
有一个JavaScript组件 和CSS的组件。
随意使用它们作为你的意志。
我们不会去过多放进去 因为我们觉得文档
真的做得很好。
，是的。
你有任何关于什么问题吗？
>> MIKE RIZZO：那么作为一个真快 侧，此网页的设计，
我们赶紧把在一起 此演示文稿
实际使用进行引导。
正如你可以看到，当我们点击这些 不同的标签，我们从来没有真正
离开这个当前的index.html页面。
所以，我们是不同的div 在此index.html的。
然后，每当我们点击不同 标签，它只是改变
其中一个人的表现。
>> 因此，相应地定位它们， 改变网页的HTML，以便
当前选项卡标记为活动状态，因此 它似乎不同，看起来
真的很好。
>> TOMAS REIMERS：所以这是所有做 没有我们编写几乎所有的CSS。
我们还看到一个头在顶部， 其中的颜色是由我们。
但实际把它放在 在网页的顶部，并使得
它滚动了引导。
然后即使对另一个库 - 这 是不是一个大家谈论但一
你可以谷歌，如果你想要的。
这就是所谓的prettify.js。
它将语法高亮代码 你同时使用CSS和JavaScript。
>> 我们要谈的最后一件事 之前我们释放你出去到
世界看库弄清楚 如何使用它们，以及，希望
阅读文档，找到你 需要的是如何找到库。
因此，第一个是我们只是 将推动谷歌。
去谷歌。
>> 这是字面上我们做什么，当我们 需要做的事情是我们谷歌。
是否有一个JavaScript库， 让我来操纵时间的
有用的方式？
所以，如果我知道有一些用户在创建 这里一个帐户，并且这是
当前的时间，我该怎么计算 与该差异，而不必
计算它自己？
所以，这其实是一个常见的​​事， 时间的JavaScript库。
在这里，我们Moment.js- - 最流行的一种。
>> 如果我们需要一个库来操纵 像颜色，以便能够
生成一串随机颜色 -
可能的话，以产生一个 风格什么的 -
我们可以在Google上搜索类似 色彩的JavaScript库。
我敢肯定，我们会弹出一个带有 一千其中之一。
欢迎您阅读它们。
>> 所以大多数事情 - 当你发现他们 - 上的所述一个将要被托管
网站的主机代码。
他们是一些流行的。
最流行的，由 到目前为止，是github.com。
如果你去GitHub上，它实际上 其中标准化被主持。
所以，如果你想回到那一个。
让他们知道。
>> MIKE RIZZO：这就是真正在那里 这个托管也一样，如果你注意到了。
>> TOMAS REIMERS：是啊。
所以，如果你去到正常化 并转到GitHub上。
分别是什么？
>> MIKE RIZZO：那小猫咪的事情 是GitHub的象征。
>> TOMAS REIMERS：哦。
所以GitHub上使用一种称为方法 Git来存储代码。
是你不知道那是什么或 它吓唬你，这很好。
你不必知道Git是 因为GitHub上有一个下载按钮
在右下角。
>> 其他有用的事情 GitHub的是大多数的产品
将有一个读我。
如果它们不具有网站，该 读我将谈论如何
安装它，你如何使用它，它是什么 确实，等等，等等，等等。
我们已经基本上被 走你渡过难关。
>> MIKE RIZZO：互联网狭路相逢。
>> TOMAS REIMERS：这很好。
我们希望最后的两件事情 谈谈 -
我们已经讨论过的Git -
是故障排除。
而这其中是不是相关 最终产物，因为它是
当你离开50。
而当你碰上的产品 实施库或实施
自己的项目，你会 有问题或你
要去找问题。
>> 同样，谷歌它。
这是字面上我们做什么。
这会听起来很傻。
但是，从字面上看，我们google一下。
再次，第一件事情之一 你通常会遇到的
stackoverflow.com，这是一个美妙的 问题和答案的景象。
>> 这是美妙的，因为两者可以 张贴问题，并寻找
答案也是因为 它已经拥有了大量的
预填充内容在那里。
所以，当你谷歌编程通常 在第一个问题
夫妇打你，你可能已经运行 把它在你的习题集。
>> 然后，最后实在简单的东西 是jsFiddle中，这是 - 今天我们已经
已经做了很多工作，与 JavaScript的HTML的CSS。
jsFiddle中是一个Web应用程序，它基本上 可以让你把你的HTML，你的
JavaScript的左下角，并 你的CSS右上角。
然后，它可以创建一个快速渲染 它，看看它是如何进行交互。
这是非常有用的，当人们试图 做一个概念证明像
这是你会如何 做一个下拉菜单。
也许一个快速揭开或什么的。
>> MIKE RIZZO：那么让我们去 前进，点击这里。
快速提示 -
然而，我们才 这样做的点击。
原来JCorey韩国也有一个内置 在单击事件处理程序，它
使用只是因为它的数字你 要想做很多事情
当你想点击的东西。
>> 同样地，它也有一个悬停。
但要获得的全部范围 这些，看看jQuery的
文档和做到这一点。
我做了一件愚蠢的在这里。
>> TOMAS REIMERS：所以我有一个非常快速的 节目就在这里，它说
在点击按钮。
然后我们有一个for循环。
对于i小于404。
它只是将弹出 这些警报消息。
>> MIKE RIZZO：什么是 代码404在HTML中主张？
有谁还记得吗？
没有找到，正确。
Chrome浏览器也添加了这个整齐 在那里你可以事儿 -
>> TOMAS REIMERS：因为人喜欢 迈克开始了这个做了很多，
恼人的用户，这使得 你看到的信息。
>> MIKE RIZZO：是啊。
>> TOMAS REIMERS：难道我们有什么问题 关于这一点，关于JavaScript
库，发现库，或 什么是Web开发的外观
像在现实世界中？
我们正在运行起来反对时间。
所以，我不知道我们要去 有时间来实现
除非它的真快。
我们是否良好？
>> MIKE RIZZO：任何你们想 看到一样，真快2
分钟或更少？
>> TOMAS REIMERS：任何 我们可以澄清？
如何在写 -
>> 观众：[听不清]？
>> MIKE RIZZO：是的，所以佼佼者 -
>> TOMAS REIMERS：您可以打 控制-U的网站上。
>> MIKE RIZZO：哦，我不知道。
>> TOMAS REIMERS：我想，是的。
控制-U。是啊。
>> MIKE RIZZO：哦，所以这是 对网站代码。
但是，如果你真的想下载我们 文件和一切，它托管
在github.com
>> TOMAS REIMERS：削减我的名字 -
托马斯赖默斯 - 斜线 CS50连字符研讨会。
>> MIKE RIZZO：你也可以 发现那里的一切。
>> TOMAS REIMERS：这是GitHub上 看起来，顺便说一句。
如此反复，当你看到一个开放源码 项目，通常情况下，他们会读
我在那里，你可以阅读。
如果你回去，你会发现， 你有下载的zip，这将
允许您下载源 代码，以包括
产品在你自己的事。
>> MIKE RIZZO：是啊，如果我们只要按一下 在index.html的真的很快 -
>> TOMAS REIMERS：你会看到这里的 源代码为我们的网站。
>> MIKE RIZZO：另外，我忘了右推 与之前的大表吧
包括，但也有一个表 我们包括chmods的
只为你的清晰度。
但是，如果我们滚动一路下跌至 底部，我们实际上并没有做的很
很多使用JavaScript 东西都与此有关。
这是专门从一切 否则，我们有。
>> 所以，谢谢你们的光临 和听力。
我们希望这是真的很有帮助。
如果您有相关的任何JavaScript 疑问或只是想谈谈
还有什么像什么等凉的东西 你可以用JavaScript做的，我们很乐意
和你谈谈。
>> TOMAS REIMERS：如果你有一个问题 关于你的项目，如果这个可以
相关的，我们可能会坚持围绕 这后一点点。
但除此之外，有 一个美好的周末。
>> MIKE RIZZO：是的，享受。
看到你们。
>> TOMAS REIMERS：再见。