vm.$refs.myQuillEditor.quill.insertEmbed(vm.addRange !== null ? vm.addRange.index : 0, 'image', value, Quill.sources.USER)
我在用這個編輯器自定義toolbar按鈕操作時用到上傳功能,最后得到一個url值,我需要在編輯器里顯示出來,如果是圖片我給第二個參數(shù)'image'就可以了,那如果我想顯示一個a標簽呢,查了文檔也沒找到方法,求告知
下面展示了在Quill中如何自定義FileBlot以完成文件上傳與回顯功能
FileBlot
可參考例子:https://quilljs.com/guides/cl...
var Quill = require('quill/dist/quill.js')
var Link = Quill.import('formats/link');
class FileBlot extends Link { // 繼承Link Blot
static create(value) {
let node = undefined
if (value&&!value.href){ // 適應原本的Link Blot
node = super.create(value);
}
else{ // 自定義Link Blot
node = super.create(value.href);
node.setAttribute('download', true); // 左鍵點擊即下載
node.innerText = value.innerText;
}
return node;
}
}
FileBlot.blotName = 'link';
FileBlot.tagName = 'A';
Quill.register(FileBlot);
Blot
// 當點擊quill中上傳文件的button后調(diào)用
// 這里url是先上傳文件后從服務器返回的文件資源地址
insertToEditor(url, file, editor) {
const range = editor.getSelection();
if(/^image/.test(file.type)){ // image直接插入image標簽顯示
editor.insertEmbed(range.index, "image", url);
}
else{ // file則顯示名為filename的A標簽
editor.insertEmbed(range.index, 'link', {href:url, innerText:file.name}, "api")
}
}
經(jīng)過本人實驗,用推薦答案里的方法確實能生成a標簽鏈接,當你點擊時,quill編輯器會默認為所有a標簽彈出一個tooltip框。
這意味著,即使你在擴展Link Blot增加一些屬性,例如target,download等等,實際上時無法生效的。
目前比較簡單但是不太優(yōu)雅的方法是:為a標簽彈出框$('.ql-preview')注冊一個點擊事件,根據(jù)自己的需求覆蓋掉
比如說不希望鏈接在新窗口打開
$('.ql-preview').one('click',function() {
if ($(this).attr('href').startsWith('#/home')) {
$(this).removeAttr('target') //文檔鏈接,在本頁跳轉(zhuǎn),不打開新的窗口
}
})
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構,是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學校辦產(chǎn)業(yè)為響應國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復興的升級產(chǎn)業(yè)鏈。利用北京大學優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓領域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術, 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術顧問,美國Dachieve 系統(tǒng)架構師,美國AngelEngineers Inc. 系統(tǒng)架構師。