✨ feat: 新增 WYSIWYG 编辑器功能和相关工具栏事件处理
This commit is contained in:
@@ -6,10 +6,25 @@
|
||||
return;
|
||||
}
|
||||
|
||||
var DEFAULT_CDN = global.HUSTOJ_VDITOR_CDN || 'https://cdn.jsdelivr.net/npm/vditor@3.10.6';
|
||||
var currentScriptRef = documentRef.currentScript || (function () {
|
||||
var scripts = documentRef.getElementsByTagName('script');
|
||||
return scripts.length > 0 ? scripts[scripts.length - 1] : null;
|
||||
})();
|
||||
var DEFAULT_CDN = global.HUSTOJ_VDITOR_CDN || getLocalCdnBase();
|
||||
global.HUSTOJ_VDITOR_CDN = DEFAULT_CDN;
|
||||
var assetsPromise = null;
|
||||
var styleInjected = false;
|
||||
|
||||
function getLocalCdnBase() {
|
||||
var scriptSrc = currentScriptRef && currentScriptRef.src;
|
||||
|
||||
if (!scriptSrc) {
|
||||
return 'include/vditor';
|
||||
}
|
||||
|
||||
return scriptSrc.replace(/\/vditor-adapter\.js(?:[?#].*)?$/, '/vditor');
|
||||
}
|
||||
|
||||
function injectAdapterStyle() {
|
||||
var style;
|
||||
|
||||
@@ -85,6 +100,7 @@
|
||||
|
||||
function ensureAssets(options) {
|
||||
var cdn = (options && options.cdn) || DEFAULT_CDN;
|
||||
global.HUSTOJ_VDITOR_CDN = cdn;
|
||||
if (global.Vditor) {
|
||||
injectAdapterStyle();
|
||||
return Promise.resolve(global.Vditor);
|
||||
@@ -95,7 +111,7 @@
|
||||
|
||||
ensureStyleTag(cdn + '/dist/index.css');
|
||||
injectAdapterStyle();
|
||||
assetsPromise = ensureScript(cdn + '/dist/index.min.js').then(function () {
|
||||
assetsPromise = ensureScript(cdn + '/dist/index.js').then(function () {
|
||||
return global.Vditor;
|
||||
});
|
||||
return assetsPromise;
|
||||
@@ -447,10 +463,6 @@
|
||||
'|',
|
||||
'undo',
|
||||
'redo',
|
||||
'|',
|
||||
'edit-mode',
|
||||
'both',
|
||||
'preview',
|
||||
'fullscreen',
|
||||
'outline'
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user