繁体   English   中英

如何覆盖CDN(其他地方)中托管的javascript库所需的文件?

[英]How to overwrite a file required by a javascript library hosted in a CDN (elsewhere)?

我想在我正在设计的网页中添加CKEditor,方法是添加其在内容交付网络( jsdelivr )中托管的Javascript库。 问题是:必须自定义ckeditor.js依赖的两个文件contents.css和config.js(我这样做并包含在我的HTML文件所在的同一文件夹中)给出404错误; ckeditor.js在CDN文件夹中查找那些文件,而忽略了我在本地文件夹中添加的文件。

在Chrome控制台上看到的错误消息

这就是我添加js文件的方式:

如何在头部分添加库

我计划将来使用CDN中的库,并期望得到类似的错误。 我究竟做错了什么? 有什么建议么?

谢谢

那就对了。 当您在CDN上上传js文件或css文件时,并且内部有相对路径,那么浏览器会尝试找出相对于css或js文件的资源。 这就是为什么您会收到此错误。 如果您将所有内容都上传到CDN中,那么应该没有任何问题。

如果要将某些文件保留在CDN上,而将其他文件保留在本地,则应在资源中指定绝对路径。

CKEditor为此提供了一个选项: http : //docs.cksource.com/CKEditor_3.x/Developers_Guide/Specifying_the_Editor_Path

尝试添加

var CKEDITOR_BASEPATH = '//mylocalserver/ckeditor/';

加载ckeditor.js之前

也许这对您有用。

jsdelivr.net一起缺少config.js和content.css,这是不应该的,因为CKEditor仅在加载所有必需文件时才起作用,并且允许您在初始加载后更改配置。 如果在ckeditor.js加载之前将CKEDITOR_BASEPATH定义为本地,则必须在本地中放置任何其他CKEditor子文件夹,因为从现在开始,CKEditor会查找您的本地,然后使用CDN变得毫无意义。

但是,此方法有效: http : //cdnjs.com/

CDNJS具有所有默认文件,并已配置为完全编辑。 如果您不希望使用完整的编辑器,则可以在首次加载后定义自定义配置,如下所示:

http://docs.ckeditor.com/#!/guide/dev_configuration

注意:您必须使用自定义配置文件的完整路径,如下所示:

<script type="text/javascript">
CKEDITOR.replace( 'editor1',
{customConfig: '//www.yourdomain.com/yourfolder/config.js'});
</script>

我已经将此代码放在html文件的body结束标记之前。

这两个文件并不是真正需要的。

您可以指定一个不同的自定义配置文件,并在该文件中指定不必尝试加载任何其他配置文件,并且contents.css也是默认值,但是您可以在配置文件中指定指向该文件的路径。您要用来设置编辑器内容样式的文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM