If you're seeing this message, it means we're having trouble loading external resources on our website.

如果你被网页过滤器挡住,请确保域名*.kastatic.org*.kasandbox.org 没有被阻止.

主要内容

JS 库托管在哪里?

在上一个实例中,当我们在网页中包含幻灯片JS库时,我们输入了以下URL:
这个URL是一个 绝对 URL,这意味着它包含协议和网域。当我们在可汗学院环境中包含JS库时,必须使用绝对URL,以便环境知道到库的完整路径。
如果您是在自己的计算机上处理网页,并且已经下载了所有文件,那就可以使用相对 URL,例如 “ slideshow.js” 或 “ lib/slideshow.js” 如果“slideshow.js” 是在名为 “ lib” 的文件夹中。如果是在本机工作,请打开浏览器的网络版面以确保它能找到所有本机资源,例如 JS 文件和 CSS 文件。 如果浏览器找不到某个资源,您会看到404报错,这时您需要调试 URL 和文件路径。
现在我们说回到这个 URL:
"https" 协议意味着这是一个 安全 网址。我们只允许您在可汗学院网页中引入安全资源,这也是网页开发的最佳实践。但是并不是所有服务器都启用了 HTTPS,所以有时您可能不得不在项目中使用 "http" 的URL。
服务器 "cdn.jsdelivr.net" 是 内容交付网络(CDN) 的一个示例。CDN有针对提供静态文件,例如JS库,的优化,所以可以非常快速地提供它们。一些大型CDN托管着多个JS库 (像 Google 的 CDN and cdnjs),还有的一些库有自己专用的CDN。
当您从某个CDN,或任何从自己不拥有的服务器,将JS库带入您的网页时,您都不应该信任该服务器。恶意的服务器可能会用恶意的代码取代了JS库来窃取您用户的数据并将数据外传,我们当然不希望这样的意外发生!
在可汗学院,我们的网页环境中使用了一种名为 CSP 的安全机制,以确保您只能从我们信任的服务器中获取资源:bootstrapcdn.com, googleapis.com, jsdelivr.net, and cdnjs.com
在您自己的网站上,您得决定是从自己的服务器提供JS库还是用由外部CDN提供的JS库。大多数大型网站是在自己的服务器上托管库,因为这样可以拥有更多的控制权并进行优化:比如将多个库合并到一个JS文件中以获得更好的加载性能。您自己决定——但一定要记住我们在这里提到的要点!

想加入讨论吗?

尚无帖子。
你会英语吗?单击此处查看更多可汗学院英文版的讨论.