基本问题是:gwtbootstrap3 是否已经包含 jquery(我想是的,见下文)。如果是这样,为什么summernote 不能引用它。我在这里找到了这个答案,但我仍然不确定如何继续。
我将 Summernote 添加到我的 GWTBootstrap3 项目中。然后,我将以下链接添加到我的 HTML 页面,如 summernote.org 上所述。这完美地工作。虽然我想确保我的项目中只有必要的链接或包含。
<!-- Summernote required includes BEGIN-->
<!-- include libraries(jQuery, bootstrap) -->
<link
href="http://netdna.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.css"
rel="stylesheet">
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.js">
</script>
<script
src="http://netdna.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.js">
</script>
<!-- include summernote css/js-->
<link
href="http://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.3/summernote.css"
rel="stylesheet">
<script
src="http://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.3/summernote.js">
</script>
<!-- Summernote required includes END-->
据我了解 gwtbootstrap3 已经使用 jquery。所以我决定注释掉jquery插件。现在的问题是 Summernote 在我的 chrome 浏览器的 Web 控制台中失败并出现以下错误:
未捕获的类型错误:无法读取未定义的属性“fn”
at summernote.js:460
at summernote.js:21
at summernote.js:23
很明显,这指的是缺少的 jquery(因为第 460 行指的是......)
isWebkit: !isEdge && /webkit/i.test(userAgent),
isChrome: !isEdge && /chrome/i.test(userAgent),
isSafari: !isEdge && /safari/i.test(userAgent),
browserVersion: browserVersion,
jqueryVersion: parseFloat($.fn.jquery), <!-- LINE 460 !!! -->
isSupportAmd: isSupportAmd,
hasCodeMirror: hasCodeMirror,
isFontInstalled: isFontInstalled,
isW3CRangeSupport: !!document.createRange
所以归结为一个问题,为什么summernote不能引用gwtbootstrap3包中已经包含的jquery?使用 NoRessource 并手动包含所有必要的文件会有什么不同?那能解决问题吗?需要手动包含哪些文件以及我必须如何/在哪里包含它们?
最好的问候汉内斯