主题: insertHtml奇怪的问题 |
作者: FlamesTsui, 发布日期: 2011-04-24 22:31:00, 浏览数: 3483 |
KE.plugin['insertMP3'] = { click : function(id) { KE.util.selection(id); var dialog = new KE.dialog({ id : id, cmd : 'insertMP3', file : 'mp3.html', width : 400, height : 90, loadingMode : true, title : KE.lang['insertMP3'], yesButton: KE.lang['yes'], noButton : KE.lang['close'] }); dialog.show(); }, check : function(id, url) { var dialogDoc = KE.util.getIframeDoc(this.dialog.iframe); if (!url.match(/^.{3,}\.(swf|flv|mp3|wav|wma|wmv|mid|avi|mpg|mpeg|asf|rm|rmvb)(\?|$)/i)) { alert(KE.lang['invalidMedia']); KE.$('url', dialogDoc).focus(); return false; } return true; }, exec : function(id) { var dialogDoc = KE.util.getIframeDoc(KE.g[id].dialog); var dialogUrl = KE.$('url', dialogDoc).value; //if (!this.check(id, dialogUrl)) return false; var html='<mp3>' + dialogUrl + '</mp3>'; KE.util.insertHtml(id, html); KE.layout.hide(id); KE.util.focus(id); } };
就这样 url的值=http://www.xxx.com/1.mp3 但是文本框得到的值 http://www.xxx.com/1.mp3</mp3> 而不是 <mp3>http://www.xxx.com/1.mp3</mp3> 版本为3.5.3 |
作者: Roddy, 发布日期: 2011-04-24 23:03:19 |
IE的range.pasteHTML有这个BUG,试了一下HTML前面添加特殊字符能解决这个问题。 1. 在代码里搜索g.range.pasteHTML(html);改成这样。 g.range.pasteHTML('\u200B' + html); 2. 在getHtml函数最后添加删除特殊字符的处理。 html = html.replace(/\u200B/g, ''); |
回复 |
作者: FlamesTsui, 发布日期: 2011-04-24 23:40:59 |
额。谢谢, 有效! |
回复 |
作者: Roddy, 发布日期: 2011-04-24 23:52:36 |
今天不知道是什么原因,googlecode的SVN一直不能访问
|
回复 |