当我复制格式正确的word文档的内容时,意味着它有H1标签,3个段落,URL链接和电子邮件链接,一些粗体和一些斜体字 - 基本上是一个非常基本的文档,格式化不是'保留。下面是我的初始文件。
tinyMCE.init({
// General options
mode : "exact",
elements : "content",
theme: "advanced",
//plugins : "safari,pagebreak,advhr,advimage,advlink,iespell,insertdatetime,preview,paste,fullscreen",
plugins : "pagebreak,style,advlink,iespell,insertdatetime,preview,print,contextmenu,paste,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,inlinepopups",
plugin_preview_width : "500",
plugin_preview_height : "600",
// Theme options
theme_advanced_buttons1:"cut,copy,paste,pasteword,|,undo,redo,|,bold,italic,underline,|,forecolor,backcolor|,justifyleft,justifycenter,justifyright,|,bullist,numlist,|fullscreen,code,iespell,imageButton,preview",
theme_advanced_disable : "help,removeformat,sub,sup,anchor,link,unlink,image,|,insertdate,inserttime,advhr,print",
theme_advanced_buttons2 : "",
theme_advanced_buttons3 : "",
paste_auto_cleanup_on_paste: false,
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "center",
valid_elements : "*[*]",
convert_urls:true,
cleanup : false
});
当我运行以下控制台命令时,我确实看到了“html”代码。此外,当我单击工具栏中的HTML图标时,我也看到了HTML代码(尽管除了第一个之外,所有H1标签都被删除了。)
// Get the HTML contents of the currently active editor
console.debug(tinyMCE.activeEditor.getContent());
// Get the raw contents of the currently active editor
tinyMCE.activeEditor.getContent({format : 'raw'});
// Get content of a specific editor:
tinyMCE.get('content').getContent()
当我点击提交按钮时,我在操作页面上的所有内容都是一个简单的cfdump,在那里,它只是纯文本和一个巨大的段落。没有P标签,没有H1标签,只有纯文本。
<cfdump var="#form.content#">
<cfoutput>
#form.content#
<textarea>#form.content#</textarea>
</cfoutput>
只是为了笑容,在操作页面上,我将form.content插入到数据类型为nvarchar(2000)的MSSQL数据库中,只是为了查看浏览器是否正在玩游戏而数据库也只显示纯文本。另一个异常是,当我在Chrome中运行我的测试页时,只保存纯文本。当我在FireFox中运行测试页面时,将保存Microsoft XML数据。
我只需要一个浏览器即可运行。有人可以就此提供任何指导吗?
答案 0 :(得分:0)
喜欢意大利面条代码。
我错过了一些逻辑,我正在检查我错过的浏览器,所以这个问题确实与fckeditor有关而不是tinymce。
/从http://ckeditor.com/forums/Support/FCK-Link-picker-errors-FF-3
开始代码段我在FCK 2.3.2中遇到了同样的问题。最好的解决方案是在fckeditorcode_gecko.js中更改函数CreateLink: 我有旧代码:
lineSegmentsIntersect = (x1, y1, x2, y2, x3, y3, x4, y4)->
a_dx = x2 - x1
a_dy = y2 - y1
b_dx = x4 - x3
b_dy = y4 - y3
s = (-a_dy * (x1 - x3) + a_dx * (y1 - y3)) / (-b_dx * a_dy + a_dx * b_dy)
t = (+b_dx * (y1 - y3) - b_dy * (x1 - x3)) / (-b_dx * a_dy + a_dx * b_dy)
(0 <= s <= 1 and 0 <= t <= 1)
新代码:
FCK.CreateLink=function(A){FCK.ExecuteNamedCommand('Unlink');if (A.length>0){var B='javascript:void(0);/*'+(new Date().getTime())+'*/';FCK.ExecuteNamedCommand('CreateLink',B);var C=document.evaluate("//a[@href='"+B+"']",this.EditorDocument.body,null,9,null).singleNodeValue;if (C){C.href=A;return C;}}};
事实上,我只用this.EditorDocument.evaluate
替换了document.evaluate/ end snippet