㈠ uEditor里插入的script,style等標簽被過濾掉怎麼解決
根據你的描述:
在editor_config.js里邊搜索blackList,去掉里邊相關的標簽名,就不會被過濾掉了。
希望能幫助到你!
㈡ ueditor里插入的script,style等標簽被過濾掉怎麼解決
你好,
ueditor.config.js->filterTxtRules->取消script
希望回答對您有幫助.
㈢ ueditor里插入的script,style等標簽被過濾掉怎麼解決
提交時用escape把字元串編碼,輸出時unescape再解碼 自己網路html實體字元,進行替換 修改php 比較推薦1,而且編碼之前可以自己把危險標簽去掉,比如iframe和script 1,2用js在表單的onsubmit里完成
㈣ 將UEditor放在<script> 標簽中,瀏覽器報錯!是什麼問題
下面這個解決此問題的方法可以參考:
昨天在調試一個項目效果的時候,死活出不來,用chrome調試一下,發現報了一個錯
誤:Uncaught SyntaxError: Unexpected token
<,我定位到jsp文件之後發現定位的位置是我的html頭文件聲明:<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">,我點了其他頁面發
現沒有報這個錯誤,經過一番對比驗證,找到問題,出問題的頁面應用的動態js文件:<script
type="text/javascript"
src="${_contextPath}/${detailjs}"></script>,其中的datailjs沒有找到,(是我
粗心大意忘記配置了),導致了相應的錯誤。
具體的,可以用有調試功能瀏覽器跟蹤追查一下。
㈤ ueditor 如何過濾html標簽
你可以在數據保存的時候,通過你服務端語言來過濾;
或者再數據保存前,用js過濾之後再進行保存。
但既然選擇使用富文本編輯器,何必在資料庫中顯示不帶HTML標簽的內容?
㈥ 百度UEditor編輯器源代碼編輯模式用CSS會被轉義,有解決方法嗎
最新的 ueditor 已經不存在這個問題。demo:UEditor - 示例
請不要再評論此答案,謝謝。
以下文字編輯於2013-08-17:
不同意前面兩人的觀點,ueditor對style進行編碼是一種非常多餘的行為。
既然編輯器提供了html編輯方式,毫無疑問這個功能是給懂html的人提供的。
富文本編輯器一般都可以寫標簽內樣式,所以普通用戶也可以通過html模式讓頁面亂掉,和提不提供自定義css沒關系。
還有說防止注入的。前端做不了安全,要安全只能靠後端實現。所以這個不成立。
但是他最後一句我還是非常贊同的,如果有精力可以專門制定一套樣式,在編輯文章的時候直接設置class就行,便於風格一致。
我以前用php寫過博客,也是用的ueditor。剛剛試了一下,裡面的ueditor可以插入style而不會被轉移。
因為ueditor的config裡面沒有版本信息,我不知道那是什麼版本。我寫那套程序是12年初,到現在已經一年半了,所以那是個比較老的版本。不過功能貌似都正常,如果你要可以私信我。
-----------------------------
繼續說。
剛剛想了想,其實這個功能在一定程度上可以起到安全作用,可以阻止那些html入門者搞破壞,但是如果一個對js熟悉的人想要在頁面插入css js,前端是阻止不了的。
ueditor的config裡面也提供了blacklist,可以過濾掉標簽。所以把style內容編碼成url編碼相當奇怪,不知道誰可以有一個合理的解釋。
-----------------------------
言歸正傳,因為我發現提問者很沒耐心。OK,說說解決方法。
這種編碼是通過encodeURIComponent()方法實現的。那麼就改它的源代碼,去掉源文件中編碼style標簽內容的代碼。
打開ueditor.all.min.js或者ueditor.all.js,搜索encodeURIComponent,可以找到四個結果。
其中有一處是:
case "style":
case "script":
node.setAttr({
cdata_tag: node.tagName,
cdata_data: encodeURIComponent(node.innerText() || "")
});
node.tagName = "div";
node.removeChild(node.firstChild());
break;
刪除case 'style':就行。如果你還想插入script,就刪掉全部。
㈦ ueditor 過慮掉了frame怎麼解決
首先在ueditor.all.js文件內搜索allowDivTransToP,找到如下的代碼,將true設置為版false:
me.setOpt('allowDivTransToP',false);
這個設置的意思是權默認的設置是將div自動轉換為p,這樣就過慮了div標簽。
接著向下找addInputRule方法中將switch代碼段中的switch (node.tagName)都給注釋或者刪掉,這裡面的case有style,script,a標簽等,
addInputRule方法開始處的代碼千萬別注釋或者刪掉,那是執行的默認處理。
進行以上修改後,再在後台編輯器器中插入代碼塊時,再次編輯時進編輯中的代碼就不會被過慮了,同樣前台如果使用了編輯也同樣不會被過慮掉。
㈧ ueditor里插入的script,style等標簽被過濾掉怎麼解決
ueditor.config.js->filterTxtRules->取消script
㈨ ueditor1.4.3阻止過濾span標簽
打開ueditor.all.js文件,搜索「allowDivTransToP」,找到以下代碼:
//進入編輯器的內容處理
me.addInputRule(function (root) {
....此處代碼省略
//進行默認的處理
root.traversal(function (node) {
if (node.type == 'element') {
if (!dtd.$cdata[node.tagName] && me.options.autoClearEmptyNode && dtd.$inline[node.tagName] && !dtd.$empty[node.tagName] && (!node.attrs || utils.isEmptyObject(node.attrs))) {
if (!node.firstChild()) node.parentNode.removeChild(node);
else if (node.tagName == 'span' && (!node.attrs || utils.isEmptyObject(node.attrs))) {
//取消默認過濾span標簽
//node.parentNode.removeChild(node, true)
}
return;
}
....此處代碼省略
}
});
//從編輯器出去的內容處理
me.addOutputRule(function (root) {
var val;
root.traversal(function (node) {
if (node.type == 'element') {
if (me.options.autoClearEmptyNode && dtd.$inline[node.tagName] && !dtd.$empty[node.tagName] && (!node.attrs || utils.isEmptyObject(node.attrs))) {
if (!node.firstChild()) node.parentNode.removeChild(node);
else if (node.tagName == 'span' && (!node.attrs || utils.isEmptyObject(node.attrs))) {
//取消默認過濾span標簽
//node.parentNode.removeChild(node, true)
}
return;
}
...此處代碼省略
}
})
});
說明:加粗部分為修改代碼,將兩端代碼注釋掉即可
㈩ ueditor插入html代碼保存後,再次編輯文章時html代碼被過濾只顯示文本內容!
遇到問題多看官方文檔和官方API。
官方初始化參數文檔:http://fex..com/ueditor/#start-config
官方API文檔:http://ueditor..com/doc/
最簡單的解決方專法如下:
//如下寫屬法即可
varue=UE.getEditor("editor",{
initialContent:"${initParam}"
});
如果不能滿足要求,比如這樣的話,之前在文本中插入的圖片,在修改時會展示<img>標簽,可以用filterTxtRules選項解決。當然,一般沒人會把圖片也跟文本一起存入資料庫