TinyMce介绍、环境配置与使用心得

  TinyMCE 是一个基于浏览器(例如MSIE或Mozilla)的强大的所见即所得的编辑器,它使用户可以方便的编辑HTML内容。它非常灵活并且是为系统集成而设计的,比如在Intranets、CMS、LMS等系统中应用。

  特点

  • 易于集成,只需要简短几行代码。
  • 支持主题和模板。
  • 易于使用自定义代码扩展(插件和回调)
  • 可定制HTML输出。屏蔽元素和强制属性。
  • 国际语言支持(通过语言包)。
  • 支持多种浏览器, 目前有 Mozilla (PC/Mac/Linux), MSIE (PC) 和 FireFox (PC/Mac/Linux)。

  下面是使用/集成TinyMCE的内容:(您也可以查看TinyMCE中文手册了解一下内容

  初始化

  在初始化TinyMCE的时候,需要把以下代码加入到页面的HEAD标签中。按以下例子中的设置,所有的TEXTAREA文本域在页面加载时将被转换成编辑器。另外还有其他模块,我们将在后面详细讲述。








 

初始化
注意以上红色部分是tiny_mce.js脚本文件的位置,该文件中包含了编辑器所需要的全部代码,主题及语言包将在初始化时被加载。蓝色部分是初始化调用,它生成TinyMCE的全局实例,其中的设置及名称-值属性将在以后描述。

设置

名称-值属性方式传递给tinyMCE的init方法的设置控制着程序的全局行为。所有的键及可能的键值如下表所示。注意,用[]括起来的名称是可选的,不是必须的设置。

常规设置
mode Mode可以是以下几个值之一:

textareas - 页面加载时把所有TEXTAREA组件转换成编辑器.
specific_textareas - 将所有"mce_editable"属性值为true的TEXTAREA转换成编辑器.
exact - 只转换在"elements"设置中指定的确切组件.
[theme] 指定要使用的主题名称,主题将被放在TinyMCE的themes目录下,默认为default。TinyMCE自带三个内置的主题,它们是simple,default和advanced。
如果你想创建自己的主题,请仔细阅读文档的 主题 部分。
[plugins] 此选项是一系列以逗号分隔的主题插件列表(例如,可以只用来扩展图像对话框)。这些插件覆盖了主题模板中定义的功能。插件逻辑应该包含在一个叫"editor_plugin.js"的文件中,它是插件目录中唯一被包含进来的文件。
例如:"my_image_dialog,my_link_dialog".
如果你想创建自己的插件,请仔细阅读文档的 主题 部分。
[language] TinyMCE中使用的语言包,这应该是像se,uk,us等诸如此类的FN代码,它被用来从"langs"目录中获取语言包,该设置的默认值为"uk".
中文用户建议您使用"zh-CN"
[elements] 以逗号分隔的用来转换成编辑器的组件列表,该选项仅在"mode"选项被设置成"exact"时使用。该列表中的元素可以是任何有id或name属性的HTML组件。
[ask] 当"mode"被设置成"textareas"或"specific_textareas"的时候,该选项被应用,询问用户输入框是否将被转换成编辑器。
如果你想使用这个选项,将它设置为true.
[textarea_trigger] textarea(文本域)触发器的属性,默认值为"mce_editable"。
该选项仅在"mode"被设置为"specific_textareas"时使用。
[valid_elements] 以逗号分隔开的组件转换部分的列表。

例如: a[href|target=_blank],strong/b,div[align],br.

以上例子告诉TinyMCE移除所有除了"a, strong, div"和"br"的组件,将元素b转换成strong,默认target设为"_blank"并保持href、target、align属性。在匹配组件及属性的名称时可以使用像*,+,?这样的通配符。

字符:
, 各组件定义之间的分隔符。
/ 两个同义组件之间的分隔符。第一个组件是会被用来输出的那个(即第二个组件被第一个替换)。
| 各属性定义之间的分隔符。
[ 定义某组件的属性列表的开始符号。
] 定义某组件的属性列表的结束符号。
= 将属性的默认值设为特定值。例如:"target=_blank"
: 将属性的值强行设为特定值。例如:"border:0"
< 校验某个属性的值。例如:"target<_blank?_self"
? 属性校验值之间的分隔符,见上。

特殊变量:
{$uid} - 产生一个唯一ID号。 例如:"p[id:{$uid}]".

此选项的默认值是以下模式:
"a[href|target],strong/b[class],em/i[class],strike[class],u[class],p[class|align],ol,ul,li,br,
img[class|src|border=0|alt|hspace|vspace|width|height|align],sub,sup,blockquote[dir|style],
table[border=0|cellspacing|cellpadding|width|height|class|align],tr[rowspan],
td[colspan|rowspan|width|height],div[class|align],span[class|align],pre[class|align],
address[class|align],h1[class|align],h2[class|align],h3[class|align],
h4[class|align],h5[class|align],h6[class|align],hr".

要包含所有组件及属性,请使用 *[*] ,这在使用invalid_elements选项时特别有用。
[extended_valid_elements] 向"valid_elements"列表末尾添加可用组件。此选项在你仅仅想往默认列表中增添部分组件时相当有用。
格式与"valid_elements"一致。
[invalid_elements] 输出时需要排除在外的组件名称列表,以逗号分隔开。
[trim_span_elements] True/False选项。如果设置为true,不需要的组件将被移除。默认值即为true。
[verify_css_classes] True/False选项。如果设置为true,将会校验CSS的class属性。默认值即为true。
[verify_html] True/False选项。代表着HTML内容是否需要校验。默认值为true。
[urlconvertor_callback] 当清理进程处理URL的时候调用的函数名。此函数必须遵从以下的格式:func(url, node, on_save) ,返回转换后的URL。此设置专为集成目的而设。参数url代表要转换的地址,node代表包含URL的那个节点,on_save是一个布尔值(在用户提交表单时为真)。
[preformatted] True/False选项。如果设置为true,编辑器将把制表符(TAB)转换成缩进,除此外保持其他whitespace(空白字符、换行等)字符,就如同HTML标签中的PRE的效果。默认值为false。
[insertlink_callback] 当执行"insertlink"命令时调用的函数名。此函数获取选定链接的地址和目标,返回一个以"href", "target"和 "title"为collection名称的数组。当使用新窗口时,为了兼容Mozilla,会在window.opener(弹出窗口的母窗口,译者注)上调用tinyMCE.insertLink。
[insertimage_callback] 当执行"insertimage"命令时调用的函数名。此函数获取选定图像的url并返回一个以src和alt为collection名称的数组。当使用新窗口时,为了兼容Mozilla,会在window.opener上调用tinyMCE.insertImage。
函数格式:insertimage(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action).
[setupcontent_callback] 当编辑器初始化时调用的函数名。函数格式:setupContentCallback(editor_id, node),其中editor_id是编辑器的id,node是编辑器所在的body组件节点。
[save_callback] 当执行triggerSave(触发保存)命令被调用时调用的函数名。函数格式:save(id, content, node),如果有特定返回值,其值将会被加到HTML表单组件上。所以可以通过此函数来自定义用户转换逻辑。
[docs_language] TinyMCE文档中使用的语言,这应该是像se,uk,us等诸如此类的FN代码,它被用来从"/docs/"目录中获取文档。 该选项的默认值跟language选项一致。
[width] 编辑器的宽度,它默认的宽度是原先被替换的组件宽度。
[height] 编辑器的高度,它默认的高度是原先被替换的组件高度。
[content_css] 编辑窗口中要使用的CSS文件,其路径应该跟页面相关。
[popups_css] 像插入链接和图片时的弹出窗口中使用的CSS文件,其路径应该跟页面相关。
[editor_css] 编辑器使用的CSS文件,其路径应该跟页面相关。
[encoding] 编辑器的输出编码,此选项目前只能为"html"或者空。如果设置为"html",编辑器的输出将经过HTML编码处理。
例如:<将会变成<,依此类推。默认值是空。
[debug] True/False选项。如果设置成true,像css文件路径等调试信息将会被显示。
[visual] True/False选项。如果设置成true,当边框设置成0的时候,为达到更好的视觉效果在编辑器中表格会有虚线出现。
默认值为true。
[visual_table_style] 用户可自定义表格的样式,默认值为:"border: 1px dashed #BBBBBB"。
[add_form_submit_trigger] True/False选项。如果设置成true,将强制进行所有表单的"onsubmit"事件处理并引发保存。此选项默认值为true。
[add_unload_trigger] True/False选项。如果设置成true,在"onunload"事件发生时,当前窗口会引发一个triggerSave调用。此triggerSave调用不会做任何清理工作,因为它是用来处理 前进/后退 按钮的。此选项默认值为true。
[force_br_newlines] True/False选项。此选项强制编辑器将段落符号(P)替换成换行符(BR)。此选项默认值为false。(实验阶段)
[force_p_newlines] True/False选项。如果打开此选项,在按下回车键(Enter)时Mozilla/Firefox浏览器会生成段落符号(P),在按下Shift+Enter时会生成换行符(BR)。此选项默认为true。
[relative_urls] True/False选项。如果设置成true,绝对路径将被转换成相对路径。默认值为true。
[remove_script_host] True/False选项。在设置成true的情况下,如果URL中的主机名、端口号跟编辑器当前所在一致,它们会被移除。
例如:编辑器所在站点为 http://www.somesite.com ,那么以下链接 http://www.somesite.com/somedir/somepage.html 将会被转换成 /somedir/somepage.html 。
如果relative_urls被设置成false,此选项默认为true。
[focus_alert] True/False选项。如果设置成true,编辑器在失去焦点的时候就会出现一个烦人的警告框。默认值为true。
[document_base_url] 在将绝对路径转换成相对路径的时候会用到此文档的URL。这个选项指定了编辑器当前的默认文档。
注意如果此选项指定到一个域名,请添加协议前缀,并以斜杠结尾。例如:http://www.somehost.com/mydir/
[custom_undo_redo] True/False选项。此选项可以使 撤消/重做 功能更加完善。默认值为true。
[custom_undo_redo_levels] 自定义最多可撤消操作的次数,默认是无限制。
[custom_undo_redo_keyboard_shortcuts] 如果使用,编辑器可以使用Ctrl+Z和Ctrl+Y快捷键来实现撤消和重做。默认允许。
[fix_content_duplication] True/False选项。此选项修正了MSIE中一个内容重复的bug。默认启用,但是为了兼容性也可以禁用(false)。
[directionality] 此选项可以设置像阿拉伯语等语言的文字方向。可能的值为:ltr, rtl。默认值: ltr(从左到右)。
[auto_cleanup_word] 如果启用,从MS office/Word粘贴的HTML将会自动被清理。此选项默认值为false。
注意:此操作当前仅支持MSIE。
[cleanup_on_startup] 如果启用,在编辑器初始化时文本域及组件将会被清理。默认值为false。
[inline_styles] 如果启用,像width,height,vspace,hspace和align等属性将会被风格属性替代。默认值为false。
在使用此选项时记得要把风格属性应用在正确的组件上。
[convert_newlines_to_brs] 如果启用,所有的/n(新行)将会在编辑器启动时被转换成
组件。此选项默认值为false。
[auto_reset_designmode] 因为在调用style.display的none/block方法来显示/隐藏某个TinyMCE编辑器的时候有bug,设计模式需要被重置。此选项一旦启用,当编辑器聚焦时,将自动重置。默认值为false。
[entities] 一张以字符代码来查找名称的表,该表中元素是以逗号分隔开的实体列表。该列表以奇数项、偶数项区分,其中奇数项是被用来转换的字符代码,偶数项是代表那个字符代码的实体名称。例如:"8205,zwj,8206,lrm,8207,rlm,173,shy"。
[cleanup_callback] 自定义清理函数。此选项能让用户在默认的清理基础上有所扩展。此函数调用跟默认的调用是分开的,它并不替换默认的清理函数,而仅仅是扩展。点击 插件清理 查看更多细节。
主题的高级特定设置
[theme_advanced_toolbar_location] 此选项用来改变工具栏的默认位置。可能的值为:"top"和"bottom"。默认值是"bottom"。
[theme_advanced_toolbar_align] 此选项用来设置工具栏的对齐方式是left, center还是right。默认值是center。
[theme_advanced_styles] 此选项可以用来增加风格下拉框中的CSS类和名称。格式如下:"=<class>;.."。<br>如果没有指定此选项,主内容部分的CSS类将会被自动导入。<br>例如:"Header 1=header1;Header 2=header2;Header 3=header3"</td> </tr> <tr> <td><strong>[theme_advanced_buttons1]</strong></td> <td>工具栏上第一行要包含的按钮列表,以逗号分隔开。例如:"bold,italic,underline"。<br><br>允许的按钮名称如下:<br>bold, italic, underline, strikethrough, justifyleft, justifycenter, justifyright, justifyfull, styleselect, bullist, numlist, outdent, indent, undo,redo, link, unlink, image, cleanup, help, code, table, row_before, row_after, delete_row, separator, rowseparator, col_before, col_after, delete_col, hr, removeformat, sub, sup, formatselect, fontselect, fontsizeselect, forecolor,charmap,visualaid,spacer,cut,copy,paste</td> </tr> <tr> <td><strong>[theme_advanced_buttons2]</strong></td> <td>同上,差别在于指定的是工具栏第二行。</td> </tr> <tr> <td><strong>[theme_advanced_buttons3]</strong></td> <td>同上,差别在于指定的是工具栏第三行。</td> </tr> <tr> <td><strong>[theme_advanced_buttons<N>_add]</strong></td> <td>向工具栏上特定的第N行中增加额外的控制/按钮。例如:theme_advaned_buttons3_add : "iespell".</td> </tr> <tr> <td><strong>[theme_advanced_buttons<N>_add_before]</strong></td> <td>向工具栏上特定的第N行的默认按钮前面增加额外的控制/按钮。例如:theme_advaned_buttons3_add_before : "iespell"。</td> </tr> <tr> <td><strong>[theme_advanced_disable]</strong></td> <td>要禁用的按钮/组件的列表,以逗号分隔。例如:"formatselect".</td> </tr> <tr> <td><strong>[theme_advanced_source_editor_width]</strong></td> <td>源文件编辑器窗口的宽度。</td> </tr> <tr> <td><strong>[theme_advanced_source_editor_height]</strong></td> <td>源文件编辑器窗口的高度。</td> </tr> <tr> <td><strong>[theme_advanced_path_location]</strong></td> <td>组件路径列表的位置,可能的值为:"top"或"bottom"。默认值为:"none" </td> </tr> <tr> <td><strong>[theme_advanced_blockformats]</strong></td> <td>formatselect列表要屏蔽的格式列表,以逗号分隔开。默认值:p,address,pre,h1,h2,h3,h4,h5,h6。</td> </tr> </tbody> </table> <p> </p> <div class="right"> 以下是一个较为复杂的初始化例子: </div> <div class="right"></div> <div class="right"> <table style="border-right:#cccccc 1px dotted;table-layout:fixed;border-top:#cccccc 1px dotted;border-left:#cccccc 1px dotted;border-bottom:#cccccc 1px dotted;" width="95%" align="center" border="0"> <tbody> <tr> <td><!-- tinyMCE --> <br><script language="javascript" type="text/javascript" src="jscripts/tiny_mce/tiny_mce.js"></script> <br><script language="javascript" type="text/javascript"> <br>    tinyMCE.init({ <br>       mode : "exact", <br>       theme : "mytheme", <br>       language : "se", <br>       elements : "elm1,elm2" <br>   }); <br></script> <br><!-- /tinyMCE --><br><!-- tinyMCE --><br><script language="javascript" type="text/javascript" src="<font color="#990000">jscripts/tiny_mce/tiny_mce.js</font>"></script><br><script language="javascript" type="text/javascript"><br>   <font color="#000099">tinyMCE.init({<br>       mode : "exact",<br>       theme : "mytheme",<br>       language : "se",<br>       elements : "elm1,elm2"<br>   });</font><br></script><br><!-- /tinyMCE --></td> </tr> </tbody> </table> <p> </p> <p> </p> <div class="right"> <span class="subtitle"><strong>函数</strong></span> <strong> (供高级使用)</strong> <br> <br>TinyMCE有一个全局实例,它能提供一些可从页面调用的公用函数。 <br> </div> <p class="right"> </p> <div class="right"> <hr> </div> <p class="right"><strong>语法:</strong> tinyMCE.triggerSave([skip_cleanup]);<br><br><strong>描述:</strong>进行清除操作,并将编辑器内容移回到表单域中。tinyMCE通过向表单提交方法中增加触发器来自动调用此函数。<br><br><strong>参数:</strong><br>[skip_cleanup] - 禁用保存触发器的清除功能,默认为false。(可选)<br><br><strong>返回:</strong> 无<br></p> <div class="right"> <hr> </div> <p class="right"><strong>语法:</strong> tinyMCE.updateContent(form_element_name);<br><br><strong>描述:</strong>将表单组件的内容转移到编辑器中,此操作的功能跟triggerSave()正好相反。当你想动态改变编辑器内容时可以使用此方法。<br><br><strong>参数:<br></strong>form_element_name - 要获取内容的组件所在表单的名称。<br><br><strong>返回:</strong> 无 </p> <div class="right"> <hr> </div> <p class="right"><strong>语法:</strong> tinyMCE.execInstanceCommand(editor_id, command, [user_interface], [value]);<br><br><strong>描述:</strong>此方法通过editor_id参数找到某个编辑器实例,在此编辑器上执行一个命令。<br><br><strong>参数:</strong><br>editor_id - 编辑器实例的ID或者被替换后的组件id/名称。<br>command - 要执行的命令。查看execCommand函数以获取更多细节。<br>[user_interface] - 是否使用用户界面。<br>[value] - 执行命令时要传递的参数,例如:一个URL。<br></p> </div> <p class="right"><strong>语法:</strong> tinyMCE.execCommand(command, [user_interface], [value]);<br><br><strong>描述:</strong>此方法在选定编辑器中通过名称执行特定命令。<br><br><strong>参数:<br></strong>command - 要执行的命令,例如:"Bold" or "Italic"。<font color="#000000">你可以通过此连接来查看Mozilla Midas spec</font>。但是tinyMCE也有自身一些特殊的命令如下表所示:<br><br></p> <p class="right"> </p> <table> <tbody> <tr> <td width="150"><strong>mceLink</strong></td> <td>打开插入链接对话框并插入链接。</td> </tr> <tr> <td width="150"><strong>mceImage</strong></td> <td>打开插入图像对话框并插入图像。</td> </tr> <tr> <td><strong>mceCleanup</strong></td> <td>从HTML代码中移除不需要的组件和属性。</td> </tr> <tr> <td><strong>mceHelp</strong></td> <td>打开文档页面。</td> </tr> <tr> <td><strong>mceInsertTable</strong></td> <td>在鼠标位置插入表格,默认尺寸为:2×2。如果execCommand函数中有指定value参数,它的格式必须为name/value形式的数组,其中name有以下选项:cols, rows, border, cellspacing, cellpadding。border(边框)的默认大小为:0。</td> </tr> <tr> <td><strong>mceTableInsertRowBefore</strong></td> <td>在当前鼠标所在位置之前插入一行。</td> </tr> <tr> <td><strong>mceTableInsertRowAfter</strong></td> <td>在当前鼠标所在位置之后插入一行。</td> </tr> <tr> <td><strong>mceTableDeleteRow</strong></td> <td>将当前鼠标所在行删除。</td> </tr> <tr> <td><strong>mceTableInsertColBefore</strong></td> <td>在当前鼠标所在位置之前插入一列。</td> </tr> <tr> <td><strong>mceTableInsertColAfter</strong></td> <td>在当前鼠标所在位置之后插入一列。</td> </tr> <tr> <td><strong>mceTableDeleteCol</strong></td> <td>将当前鼠标所在列删除。</td> </tr> <tr> <td><strong>mceAddControl</strong></td> <td>向编辑器添加组件控制,此编辑器的id/name由value指定。</td> </tr> <tr> <td><strong>mceRemoveControl</strong></td> <td>通过editor_id名称来移除特定控制。value是要移除的editor_id(编辑器ID),编辑器ID格式如下:"mce_editor_<index>"。<br>也可以使用DOM组件的ID和表单名。</td> </tr> <tr> <td><strong>mceFocus</strong></td> <td>使以value的值为ID的编辑器获得焦点。编辑器ID格式如下:"mce_editor_<index>"。也可以使用DOM组件的ID和表单名。</td> </tr> <tr> <td><strong>mceSetCSSClass</strong></td> <td>设置CSS类属性,或者在选择框中创建新的span。value的值是要给选定组件指派的css类名或者要新创建的span组件名称。</td> </tr> <tr> <td><strong>mceInsertContent</strong></td> <td>在当前鼠标所在位置插入value的内容。</td> </tr> <tr> <td><strong>mceReplaceContent</strong></td> <td>将当前选定部分替换为value中的HTML代码。{$selection}变量由当前选定部分的文字内容替换。</td> </tr> <tr> <td><strong>mceSetAttribute</strong></td> <td> <p>为当前选定组件设置属性。此命令的value应该是name/value数组,其参数如下:<br><br><strong>name</strong> - 要设置的属性名。<br><strong>value</strong> - 要设置的属性值。<br><strong>[targets]</strong> - 要增加属性的目标组件,默认为:p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address。<br><br>使用示例:<br>tinyMCE.execCommand('mceSetAttribute',false,{name:'align',value:'right'});</p> </td> </tr> <tr> <td><strong>mceToggleVisualAid</strong></td> <td> <p>是否开启视觉帮助模式</p> </td> </tr> <tr> <td><strong>mceAnchor</strong></td> <td> <p>插入名称锚点。value是锚点的名称。</p> </td> </tr> <tr> <td><strong>mceResetDesignMode</strong></td> <td> <p>重置所有编辑器实例的设计模式状态。在Firefox中,当编辑器被放在制表符中或者用style.display="none/block"来控制隐显的时候,此命令非常有用。在编辑器重新显示时调用此命令。</p> </td> </tr> <tr> <td><strong>mceSelectNode</strong></td> <td> <p>选定value指定的节点/组件。同时此命令会使编辑器滚动到此组件所在位置。</p> </td> </tr> <tr> <td><strong>mceSelectNodeDepth</strong></td> <td> <p>从当前节点以深度关系选择指定的节点/组件。所以0值会选定当前聚焦的节点。同时此命令会使编辑器滚动到此组件所在位置。</p> </td> </tr> </tbody> </table> <p class="right"><br>user_interface - 申明某命令是否会显示用户界面。True/False选项。<br>value - 要传递给命令的值。例如,插入链接时,它就是链接的URL。<br><br><strong>返回:</strong> 无<br><br><strong>示例:</strong><br></p> <div class="right"> <font face="Webdings" color="#000000"></font><a href=" <font color="#990000">javascript:tinymce.execCommand('Bold');</font>">[Do bold]</a> </div> <div class="right"></div> <div class="right"> <p><strong>语法:</strong> tinyMCE.insertLink(href, target);<br><br><strong>描述:</strong>此方法在当前选定编辑器实例的鼠标位置插入一个链接,或者用新的数据来更新已有链接。当你创建自己的主题时,此方法应在插入链接的弹出窗口中的OK按钮按下时被调用。<br><br><strong>参数:<br></strong>href - 链接的地址/URL。<br>target - 链接的目标。<br><br><strong>返回:</strong> 无 </p> <hr> <p><strong>语法:</strong> tinyMCE.insertImage(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout);<br><br><strong>描述:</strong>此方法在当前选定编辑器实例的鼠标位置插入图像,或者用新的数据来更新已有图像。当你创建自己的主题时,此方法应在插入图像的弹出窗口中的OK按钮按下时被调用。<br><br><strong>参数:<br></strong>src - 图像地址。<br>alt - 图片的替代文字。<br>border - 图像边框。<br>hspace - 图像水平间距。<br>vspace - 图像垂直间距。<br>width - 图像宽。<br>height - 图像高。<br>align - 图像对齐方式。<br>title - 图像链接的标题。<br>onmouseover - 图像在鼠标放上去时的事件处理。<br>onmouseout - 图像在鼠标移开时的事件处理。<br><br><strong>返回:</strong> 无 </p> <hr> <p><strong>语法:</strong> tinyMCE.triggerNodeChange();<br><br><strong>描述:</strong>当编辑器发生外部变化时此方法被调用。然后此方法回调主题的"handleNodeChangeCallback"方法。<br><br><strong>参数: </strong>None<br><br><strong>返回:</strong> 无 </p> <hr> <p><strong>语法:</strong> tinyMCE.getContent();<br><br><strong>描述:</strong>此方法返回当前选定编辑器中的HTML内容。如果没有任何选定编辑器,该方法返回null。<br><br><strong>参数: </strong>None<br><br><strong>返回:</strong>当前选定编辑器中的HTML内容或者null。 </p> <font face="Webdings" color="#000000"></font> </div> <p><strong>语法:</strong> tinyMCE.setContent(html);<br><br><strong>描述:</strong>此方法设定当前选定编辑器的HTML内容。<br><br><strong>参数:<br></strong>html - 要设定的HTML源代码。<br><br><strong>返回:</strong> None. </p> <hr> <p><strong>语法:</strong> tinyMCE.getEditorInstance(editor_id);<br><br><strong>描述:</strong>此方法通过editor_id返回某个编辑器实例。<br><br><strong>参数:<br></strong>editor_id - 要获取的编辑器实例。<br><br><strong>返回:</strong>编辑器实例(TinyMCEControl)。 </p> <hr> <p><strong>语法:</strong> tinyMCE.importThemeLanguagePack([theme]);<br><br><strong>描述:</strong>此方法导入主题中特定的语言包。自定义主题中可以调用此方法。<br><br><strong>参数:</strong><br>[theme] - 当前主题名称。此选项可选,默认为全局的"theme"设定。此参数在主题插件中非常有用。<br><br><strong>返回:</strong> None. </p> <hr> <p><strong>语法:</strong> tinyMCE.importPluginLanguagePack(plugin, valid_languages);<br><br><strong>描述:</strong>此方法导入插件中特定的语言包。自定义插件中可以调用此方法。<br><br><strong>参数:</strong><br>plugin - 当前插件的名称。<br>valid_languages - 以逗号分隔的所支持语言包列表。<br><br><strong>返回:</strong> None. </p> <hr> <p><strong>语法:</strong> tinyMCE.applyTemplate(html);<br><br><strong>描述:</strong>此方法替换主题中的设置及语言变量。<br><br><strong>参数:</strong> <br>html - 要替换主题变量的HTML代码。<br><br><strong>返回:</strong> 转换后的HTML代码。 </p> <p><strong>语法:</strong> tinyMCE.openWindow(template, [args]);<br><br><strong>描述:</strong>此方法通过从指定的template参数中获取width, height及html数据来打开新窗口。数组参数args中包含要替换的变量名。<br><br>还有一些自定义的窗口参数:<br>mce_replacevariables - 启用/禁用HTML文档中的语言/变量替换。默认启用。<br>mce_windowresize - 启用/禁用弹出窗口的自动resize特征,默认启用。<br><br><strong>参数:</strong> <br>template - Name/Value数组,以width, height, html和file为键。<br>[args] - 包含要替换变量名的Name/Value数组。模板文件中的键值变量被参数列表所替换。<br>例如:image.php?src={$src}被替换为:image.php?src=image.gif。<br><br><strong>返回:</strong> None. </p> <hr> <p><strong>语法:</strong> tinyMCE.getWindowArg(name, [default_value]);<br><br><strong>描述:</strong>此方法根据name返回窗口参数,它可以用在主题中的弹出窗口中,以获取对话框中的参数。<br><br><strong>参数:</strong> <br>name - 要获取的窗口参数的名称。<br>[default_value] - 窗口参数丢失时返回的默认值。<br><br><strong>返回:</strong> 窗口参数的值。 </p> <hr> <p><strong>语法:</strong> tinyMCE.setWindowArg(name, value);<br><br><strong>描述:</strong>此方法根据name设定窗口参数,例如它在某插件调用其他插件时非常有用。<br><br><strong>参数:</strong> <br>name - 要设置的窗口参数。<br>value - 窗口参数中要设置的值。<br><br><strong>返回:</strong> 窗口参数值。 </p> <p><strong>语法:</strong> tinyMCE.getParam(name, [default_value], [strip_whitespace]);<br><br><strong>描述:</strong>此方法返回TinyMCE的配置参数。<br><br><strong>参数:</strong> <br>name - 要获取的窗口参数名。<br>[default_value] - 窗口参数丢失时返回的默认值。<br>[strip_whitespace] - 如果为真,所有返回值中的空白字符将会被除去。默认:false。<br><br><strong>返回:</strong>TinyMCE配置参数。<br></p> </div> </div> </td> </tr> </tbody> </table> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1280394501956845568"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(TinyMce介绍、环境配置与使用心得)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1892441060429328384.htm" title="【学习笔记】Elasticsearch之环境搭建" target="_blank">【学习笔记】Elasticsearch之环境搭建</a> <span class="text-muted">聪明马的博客</span> <a class="tag" taget="_blank" href="/search/elasticsearch/1.htm">elasticsearch</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/elasticsearch/1.htm">elasticsearch</a> <div>Elasticsearch官网本文是自己在学习Elasticsearch的过程中,记下的觉得非常有用的笔记,希望对大家认识Elasticsearch有一点点帮助。1.什么是Elasticsearch官网上是这么介绍的:Elasticsearchisadistributeddocumentstore.Insteadofstoringinformationasrowsofcolumnardata,El</div> </li> <li><a href="/article/1892440716534149120.htm" title="大模型(含deepseek r1)本地部署利器ollama的API操作指南" target="_blank">大模型(含deepseek r1)本地部署利器ollama的API操作指南</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BDllm/1.htm">人工智能llm</a> <div>ollama介绍:Ollama是一个开源的大型语言模型(LLM)平台,旨在让用户能够轻松地在本地运行、管理和与大型语言模型进行交互。它支持多种预训练的大型语言模型(如LLaMA2、Mistral、Gemma、DeepSeek等),并提供了一个简单高效的方式来加载和使用这些模型。出现Error:somethingwentwrong,pleaseseetheollamaserverlogsfordet</div> </li> <li><a href="/article/1892440428083474432.htm" title="吐血整理Java集合框架,免费送" target="_blank">吐血整理Java集合框架,免费送</a> <span class="text-muted">聪明马的博客</span> <a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a> <div>Java集合框架(JavaCollectionsFramework)是Java标准库中的一个重要部分。它为Java开发人员提供了一组常用的数据结构,如列表、集合、映射等,使其更容易地处理数据。在这篇博客中,我将详细介绍Java集合框架,包括它的主要特点、常用的集合类型以及如何使用它们来解决实际问题。一、Java集合框架的主要特点Java集合框架的主要特点是:统一的接口。Java集合框架提供了一组统</div> </li> <li><a href="/article/1892440427370442752.htm" title="【从零到一的Java Stream,保姆级教学】" target="_blank">【从零到一的Java Stream,保姆级教学】</a> <span class="text-muted">聪明马的博客</span> <a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a> <div>JavaStream是Java8中的一项重大新功能,它提供了一种强大的功能,用于处理集合和数组等数据结构的元素序列。Stream基于lambda表达式,它允许我们使用一种简洁而直观的方式来处理数据,而不用关心底层的实现细节。本文将详细介绍JavaStream的用法。什么是StreamJavaStream是一个用于描述数据流的API,它提供了一个面向函数式编程的方式来处理集合和数组等数据结构的元素序</div> </li> <li><a href="/article/1892439830407737344.htm" title="Go 并发控制:semaphore 详解" target="_blank">Go 并发控制:semaphore 详解</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AFgo%E9%9D%A2%E8%AF%95%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B%E4%BF%A1%E5%8F%B7%E9%87%8F/1.htm">后端go面试并发编程信号量</a> <div>今天我们来介绍一个Go官方库x提供的扩展并发原语semaphore,译为“信号量”。因为它就像一个信号一样控制多个goroutine之间协作。概念讲解我先简单介绍下信号量的概念,为不熟悉的读者作为补充知识。一个生活中的例子:假设一个餐厅总共有10张餐桌,每来1位顾客占用1张餐桌,那么同一时间共计可以有10人在就餐,超过10人则需要排队等位;如果有1位顾客就餐完成,则可以让排队等待的第1位顾客来就餐</div> </li> <li><a href="/article/1892436647568535552.htm" title="经销商管理系统架构设计方案(附 Java版本和Python版本源代码详解)" target="_blank">经销商管理系统架构设计方案(附 Java版本和Python版本源代码详解)</a> <span class="text-muted">AI天才研究院</span> <a class="tag" taget="_blank" href="/search/DeepSeek/1.htm">DeepSeek</a><a class="tag" taget="_blank" href="/search/R1/1.htm">R1</a><a class="tag" taget="_blank" href="/search/%26amp%3B/1.htm">&</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AEAI%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E5%A4%A7%E6%A8%A1%E5%9E%8B/1.htm">大数据AI人工智能大模型</a><a class="tag" taget="_blank" href="/search/AI%E5%A4%A7%E6%A8%A1%E5%9E%8B%E4%BC%81%E4%B8%9A%E7%BA%A7%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91%E5%AE%9E%E6%88%98/1.htm">AI大模型企业级应用开发实战</a><a class="tag" taget="_blank" href="/search/AI%E5%A4%A7%E6%A8%A1%E5%9E%8B%E5%BA%94%E7%94%A8%E5%85%A5%E9%97%A8%E5%AE%9E%E6%88%98%E4%B8%8E%E8%BF%9B%E9%98%B6/1.htm">AI大模型应用入门实战与进阶</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6/1.htm">计算科学</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E8%AE%A1%E7%AE%97/1.htm">神经计算</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/1.htm">神经网络</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E5%9E%8B%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">大型语言模型</a><a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/AGI/1.htm">AGI</a><a class="tag" taget="_blank" href="/search/LLM/1.htm">LLM</a><a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/1.htm">架构设计</a><a class="tag" taget="_blank" href="/search/Agent/1.htm">Agent</a><a class="tag" taget="_blank" href="/search/RPA/1.htm">RPA</a> <div>经销商管理系统架构设计方案(Java实现源代码详解)关键词:经销商管理系统,Java,SpringBoot,MyBatis,MySQL,架构设计,源代码1.背景介绍随着市场竞争的日益激烈,企业对经销商的管理越来越重视。传统的经销商管理方式效率低下,信息滞后,难以适应现代企业的发展需求。为了提高经销商管理效率,降低运营成本,越来越多的企业开始采用信息化的手段来管理经销商,而经销商管理系统应运而生。经</div> </li> <li><a href="/article/1892436521122852864.htm" title="LLM的分布式部署:AI的云端革命" target="_blank">LLM的分布式部署:AI的云端革命</a> <span class="text-muted">AI天才研究院</span> <a class="tag" taget="_blank" href="/search/AI%E5%A4%A7%E6%A8%A1%E5%9E%8B%E4%BC%81%E4%B8%9A%E7%BA%A7%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91%E5%AE%9E%E6%88%98/1.htm">AI大模型企业级应用开发实战</a><a class="tag" taget="_blank" href="/search/Python%E5%AE%9E%E6%88%98/1.htm">Python实战</a><a class="tag" taget="_blank" href="/search/DeepSeek/1.htm">DeepSeek</a><a class="tag" taget="_blank" href="/search/R1/1.htm">R1</a><a class="tag" taget="_blank" href="/search/%26amp%3B/1.htm">&</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AEAI%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E5%A4%A7%E6%A8%A1%E5%9E%8B/1.htm">大数据AI人工智能大模型</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/kotlin/1.htm">kotlin</a><a class="tag" taget="_blank" href="/search/golang/1.htm">golang</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E5%8E%82%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">大厂程序员</a><a class="tag" taget="_blank" href="/search/%E7%A1%85%E5%9F%BA%E8%AE%A1%E7%AE%97/1.htm">硅基计算</a><a class="tag" taget="_blank" href="/search/%E7%A2%B3%E5%9F%BA%E8%AE%A1%E7%AE%97/1.htm">碳基计算</a><a class="tag" taget="_blank" href="/search/%E8%AE%A4%E7%9F%A5%E8%AE%A1%E7%AE%97/1.htm">认知计算</a><a class="tag" taget="_blank" href="/search/%E7%94%9F%E7%89%A9%E8%AE%A1%E7%AE%97/1.htm">生物计算</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/1.htm">神经网络</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/AIGC/1.htm">AIGC</a><a class="tag" taget="_blank" href="/search/AGI/1.htm">AGI</a><a class="tag" taget="_blank" href="/search/LLM/1.htm">LLM</a><a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/1.htm">系统架构设计</a><a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E5%93%B2%E5%AD%A6/1.htm">软件哲学</a><a class="tag" taget="_blank" href="/search/Agent/1.htm">Agent</a><a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98%E5%AE%9E%E7%8E%B0%E8%B4%A2%E5%AF%8C%E8%87%AA%E7%94%B1/1.htm">程序员实现财富自由</a> <div>《LLM的分布式部署:AI的云端革命》关键词分布式部署语言模型云端计算资源管理性能优化安全性摘要本文将深入探讨大型语言模型(LLM)的分布式部署,分析其技术背景、架构设计、资源管理、性能优化以及安全性等方面。通过对LLM分布式部署的关键技术进行详细介绍,我们旨在为读者提供一个全面、系统的理解,以及展望未来LLM分布式部署的发展趋势。目录大纲第一部分:分布式部署概述第1章:分布式系统基础第2章:LL</div> </li> <li><a href="/article/1892436519868755968.htm" title="Maven 与 Docker 集成:构建 Docker 镜像并与容器化应用集成" target="_blank">Maven 与 Docker 集成:构建 Docker 镜像并与容器化应用集成</a> <span class="text-muted">drebander</span> <a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a> <div>在现代软件开发中,容器化已成为一种流行的部署和运行应用程序的方式。通过将应用程序及其所有依赖打包成Docker镜像,开发者可以确保应用能够在不同的环境中一致地运行。而Maven是广泛使用的构建工具,能够帮助管理项目的构建、依赖和发布。本文将介绍如何使用Maven构建Docker镜像,并将其与容器化应用集成,以便于自动化部署和管理。1.Maven与Docker集成概述Maven可以通过插件来构建Do</div> </li> <li><a href="/article/1892435787555860480.htm" title="行业专家推荐2024年CRM系统Top 5" target="_blank">行业专家推荐2024年CRM系统Top 5</a> <span class="text-muted"></span> <div>商业环境瞬息万变,客户关系管理(CRM)系统帮助企业更好地连接客户、理解客户、服务客户,已成为企业不可或缺的战略资产。企业在选择CRM系统时,应做好充分的市场调查。为了帮助企业更好地把握市场机遇,提升客户体验,本文根据搜索结果和行业专家的评价,推荐2024年各方面排名靠前的5个CRM系统,并介绍它们的主要功能、擅长领域、适用企业、总体评价、评分以及官网链接。纷享销客重点功能:纷享销客定位于连接型C</div> </li> <li><a href="/article/1892433744342609920.htm" title="FreeRTOS-rust 编译分析" target="_blank">FreeRTOS-rust 编译分析</a> <span class="text-muted">路西法Lux</span> <a class="tag" taget="_blank" href="/search/FreeRTOS-rust/1.htm">FreeRTOS-rust</a><a class="tag" taget="_blank" href="/search/rust/1.htm">rust</a><a class="tag" taget="_blank" href="/search/FreeRTOS/1.htm">FreeRTOS</a><a class="tag" taget="_blank" href="/search/FreeRTOS-rust/1.htm">FreeRTOS-rust</a><a class="tag" taget="_blank" href="/search/cargo/1.htm">cargo</a> <div>目录介绍FreeRTOS-rust├──.cargo#对cargo本身的配置│└──config.toml├──Cargo.toml#对当前工作空间的配置├──freertos-cargo-build#负责对freertos源码进行编译│├──Cargo.toml#对当前package进行配置│└──src│└──lib.rs├──freertos-rust#负责编译freertos的rust接口</div> </li> <li><a href="/article/1892430369425256448.htm" title="国内如何使用Claude 3.5/4.0?只有这3种方法!最后一种适合新手!" target="_blank">国内如何使用Claude 3.5/4.0?只有这3种方法!最后一种适合新手!</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/claude/1.htm">claude</a> <div>绕过限制,畅享Claude3.5/4.0:国内用户使用指南最近,很多小伙伴都想体验Claude的魅力,感受AI的强大。然而,由于Anthropic对Claude,特别是Claude3.5/4.0的访问限制,以及对新用户注册的严格把控️,国内用户想要顺畅使用真的不容易啊!别担心!本文将化身你的锦囊妙计,详细介绍几种在国内使用Claude3.5/4.0的策略,并提供全面的操作指南和注意事项,让你轻松玩</div> </li> <li><a href="/article/1892428945928810496.htm" title="LTC流程概述与核心要点--华为LTC流程专家许浩明老师分享心得体会" target="_blank">LTC流程概述与核心要点--华为LTC流程专家许浩明老师分享心得体会</a> <span class="text-muted">华为LTC专栏流程管理专家许浩明</span> <a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BALTC/1.htm">华为LTC</a><a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86/1.htm">项目管理</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/1.htm">经验分享</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E8%AE%A1%E7%AE%97/1.htm">云计算</a><a class="tag" taget="_blank" href="/search/%E5%8C%BA%E5%9D%97%E9%93%BE/1.htm">区块链</a> <div>销售关乎企业生死,可是很多企业的销售流程体系是散乱无序、效率低下;没能洞察市场寻找更多商机,项目线索不够多,即便有了项目线索也因为没能尽早有效跟踪培育线索而失去项目机会;难以快速响应客户需求;面向客户界面混乱,销售人员基本是单兵作战,难以形成战斗力,很多销售人员销售经验能力又不足,直接导致的结果就是:市场中标概率小、中标了交付也存在各种各样风险与问题、回款缓慢甚至最后成为“烂尾工程”应收帐款巨大…</div> </li> <li><a href="/article/1892427427007754240.htm" title="PSINS工具箱函数介绍——ggnss(ggpsvars+gbdvars+gglovars)" target="_blank">PSINS工具箱函数介绍——ggnss(ggpsvars+gbdvars+gglovars)</a> <span class="text-muted">MATLAB卡尔曼</span> <a class="tag" taget="_blank" href="/search/PSINS%E5%87%BD%E6%95%B0/1.htm">PSINS函数</a><a class="tag" taget="_blank" href="/search/matlab/1.htm">matlab</a><a class="tag" taget="_blank" href="/search/PSINS/1.htm">PSINS</a> <div>文章目录关于工具箱工具箱概述学习路径指南GNSS参数初始化函数`ggnss`函数功能参数体系结构典型应用场景系统参数初始化操作指南执行流程运行结果解析函数源码深度解析代码架构扩展开发建议关于工具箱kfinit是kf的参数初始化函数,用于初始化滤波参数本文所述的代码需要基于PSINS工具箱,工具箱的讲解:PSINS初学指导:https://blog.csdn.net/callmeup/article</div> </li> <li><a href="/article/1892419989684678656.htm" title="基于python深度学习遥感影像地物分类与目标识别、分割实践技术应用" target="_blank">基于python深度学习遥感影像地物分类与目标识别、分割实践技术应用</a> <span class="text-muted">xiao5kou4chang6kai4</span> <a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E9%81%A5%E6%84%9F/1.htm">遥感</a><a class="tag" taget="_blank" href="/search/%E5%8B%98%E6%B5%8B/1.htm">勘测</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E7%B1%BB/1.htm">分类</a> <div>专题一:深度学习发展与机器学习深度学习的历史发展过程机器学习,深度学习等任务的基本处理流程梯度下降算法讲解不同初始化,学习率对梯度下降算法的实例分析从机器学习到深度学习算法专题二深度卷积网络、卷积神经网络、卷积运算的基本原理池化操作,全连接层,以及分类器的作用BP反向传播算法的理解一个简单CNN模型代码理解特征图,卷积核可视化分析专题三TensorFlow与keras介绍与入门TensorFlow</div> </li> <li><a href="/article/1892419861364142080.htm" title="一键安装KES-RWC读写分离集群" target="_blank">一键安装KES-RWC读写分离集群</a> <span class="text-muted">banjin</span> <a class="tag" taget="_blank" href="/search/kingbase/1.htm">kingbase</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%A4%A7%E9%87%91%E4%BB%93/1.htm">人大金仓</a> <div>一、KES-RWC读写分离集群介绍金仓数据库读写分离集群软件在金仓数据守护集群软件的基础上增加了对应用透明的读写负载均衡能力。该类集群中所有备库均可对外提供查询能力,从而减轻了主库的读负载压力,可实现更高的事务吞吐率;该软件支持在多个备库间进行读负载均衡。其成员可能包括主节点(primarynode)、备节点(standbynode)、辅助节点(witnessnode)、备份节点(reponode</div> </li> <li><a href="/article/1892419226480734208.htm" title="DeepSeek与ChatGPT:会取代搜索引擎和人工客服的人工智能革命" target="_blank">DeepSeek与ChatGPT:会取代搜索引擎和人工客服的人工智能革命</a> <span class="text-muted">云边有个稻草人</span> <a class="tag" taget="_blank" href="/search/%E7%83%AD%E9%97%A8%E6%96%87%E7%AB%A0/1.htm">热门文章</a><a class="tag" taget="_blank" href="/search/chatgpt/1.htm">chatgpt</a><a class="tag" taget="_blank" href="/search/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E/1.htm">搜索引擎</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/DeepSeek/1.htm">DeepSeek</a> <div>云边有个稻草人-CSDN博客在众多创新技术中,DeepSeek和ChatGPT无疑是最为引人注目的。它们通过强大的搜索和对话生成能力,能够改变我们与计算机交互的方式,帮助我们高效地获取信息,增强智能服务。本文将深入探讨这两项技术如何结合使用,为用户提供更精准、更流畅的对话和搜索体验。目录一、介绍1.1什么是DeepSeek?1.2什么是ChatGPT?1.3DeepSeek与ChatGPT的结合:</div> </li> <li><a href="/article/1892411035852271616.htm" title="LLM与知识图谱融合:智能运维知识库构建" target="_blank">LLM与知识图谱融合:智能运维知识库构建</a> <span class="text-muted">AI天才研究院</span> <a class="tag" taget="_blank" href="/search/DeepSeek/1.htm">DeepSeek</a><a class="tag" taget="_blank" href="/search/R1/1.htm">R1</a><a class="tag" taget="_blank" href="/search/%26amp%3B/1.htm">&</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AEAI%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E5%A4%A7%E6%A8%A1%E5%9E%8B/1.htm">大数据AI人工智能大模型</a><a class="tag" taget="_blank" href="/search/AI%E5%A4%A7%E6%A8%A1%E5%9E%8B%E4%BC%81%E4%B8%9A%E7%BA%A7%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91%E5%AE%9E%E6%88%98/1.htm">AI大模型企业级应用开发实战</a><a class="tag" taget="_blank" href="/search/AI%E5%AE%9E%E6%88%98/1.htm">AI实战</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6/1.htm">计算科学</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E8%AE%A1%E7%AE%97/1.htm">神经计算</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/1.htm">神经网络</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E5%9E%8B%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">大型语言模型</a><a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/AGI/1.htm">AGI</a><a class="tag" taget="_blank" href="/search/LLM/1.htm">LLM</a><a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/1.htm">架构设计</a><a class="tag" taget="_blank" href="/search/Agent/1.htm">Agent</a><a class="tag" taget="_blank" href="/search/RPA/1.htm">RPA</a> <div>1.背景介绍随着信息技术的飞速发展,IT运维管理面临着越来越大的挑战。海量的设备、复杂的网络环境、日益增长的数据量,使得传统的运维方式难以满足需求。为了提高运维效率和质量,智能运维应运而生。智能运维的核心是将人工智能技术应用于运维领域,通过机器学习、深度学习等算法,实现自动化、智能化的运维管理。其中,大语言模型(LLM)和知识图谱是两个重要的技术方向。LLM能够理解和生成自然语言,可以用于构建智能</div> </li> <li><a href="/article/1892410909121376256.htm" title="xml DOM高级" target="_blank">xml DOM高级</a> <span class="text-muted">夜夜yaya</span> <a class="tag" taget="_blank" href="/search/WSDL%E8%A7%A3%E6%9E%90/1.htm">WSDL解析</a> <div>XMLDOM(DocumentObjectModel)定义了访问和操作XML文档的标准方法。XMLDOMDOM把XML文档视为一种树结构。通过这个DOM树,可以访问所有的元素。可以修改它们的内容(文本以及属性),而且可以创建新的元素。元素,以及它们的文本和属性,均被视为节点。在本教程的较早章节中,我们介绍了XMLDOM,并使用了XMLDOM的getElementsByTagName()从DOM树中</div> </li> <li><a href="/article/1892408765760729088.htm" title="XML的介绍及使用DOM,DOM4J解析xml文件" target="_blank">XML的介绍及使用DOM,DOM4J解析xml文件</a> <span class="text-muted">late summer182</span> <a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>1XML简介XML(可扩展标记语言,ExtensibleMarkupLanguage)是一种用于定义文档结构和数据存储的标记语言。它主要用于在不同的系统之间传输和存储数据。作用:数据交互配置应用程序和网站Ajax基石特点XML与操作系统、编程语言的开发平台无关实现不同系统之间的数据交换2XML文档结构王珊.NET高级编程包含C#框架和网络编程等李明明XML基础编程包含XML基础概念和基本作用2.1</div> </li> <li><a href="/article/1892408764976394240.htm" title="Redis 全方位解析:从入门到实战" target="_blank">Redis 全方位解析:从入门到实战</a> <span class="text-muted">kiss strong</span> <a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E7%BC%93%E5%AD%98/1.htm">缓存</a> <div>引言在当今互联网快速发展的时代,高并发、低延迟的应用场景越来越普遍。Redis,作为一款高性能的开源数据库,以其卓越的性能和灵活的功能,成为了许多开发者的首选工具。无论是在缓存、消息队列,还是在实时数据分析等领域,Redis都展现出了强大的能力。本文将从Redis的基本介绍、官网、安装、特性,到具体的存储类型、Java代码实例、SpringBoot整合,以及Redis的主要作用和应用场景,进行全面</div> </li> <li><a href="/article/1892402836076032000.htm" title="知识图谱构建:LLM与知识工程的完美结合" target="_blank">知识图谱构建:LLM与知识工程的完美结合</a> <span class="text-muted">AI智能涌现深度研究</span> <a class="tag" taget="_blank" href="/search/AI%E5%A4%A7%E6%A8%A1%E5%9E%8B%E5%BA%94%E7%94%A8%E5%85%A5%E9%97%A8%E5%AE%9E%E6%88%98%E4%B8%8E%E8%BF%9B%E9%98%B6/1.htm">AI大模型应用入门实战与进阶</a><a class="tag" taget="_blank" href="/search/DeepSeek/1.htm">DeepSeek</a><a class="tag" taget="_blank" href="/search/R1/1.htm">R1</a><a class="tag" taget="_blank" href="/search/%26amp%3B/1.htm">&</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AEAI%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">大数据AI人工智能</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6/1.htm">计算科学</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E8%AE%A1%E7%AE%97/1.htm">神经计算</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/1.htm">神经网络</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E5%9E%8B%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">大型语言模型</a><a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/AGI/1.htm">AGI</a><a class="tag" taget="_blank" href="/search/LLM/1.htm">LLM</a><a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/1.htm">架构设计</a><a class="tag" taget="_blank" href="/search/Agent/1.htm">Agent</a><a class="tag" taget="_blank" href="/search/RPA/1.htm">RPA</a> <div>1.背景介绍1.1知识爆炸与信息孤岛随着互联网和信息技术的飞速发展,我们正处于一个知识爆炸的时代。海量的数据和信息充斥着我们的生活,但同时也带来了信息过载和信息孤岛的问题。传统的信息检索方式难以有效地组织和利用这些知识,难以满足人们对知识获取和应用的需求。1.2知识图谱的兴起知识图谱作为一种语义网络,能够将实体、概念及其之间的关系以结构化的方式进行表达和存储,从而有效地组织和管理知识。近年来,知识</div> </li> <li><a href="/article/1892401826364452864.htm" title="jQuery UI CSS 框架 API" target="_blank">jQuery UI CSS 框架 API</a> <span class="text-muted">lly202406</span> <a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>jQueryUICSS框架API概述jQueryUI是一个基于jQuery的用户界面和交互库,它提供了一套丰富的交互组件和视觉效果,旨在帮助开发者快速构建具有吸引力和互动性的网页应用。jQueryUICSS框架API是jQueryUI的一部分,它允许开发者通过简单的CSS类来控制UI组件的样式和外观。本文将详细介绍jQueryUICSS框架API的使用方法、常用类和功能,帮助开发者更好地利用这一工</div> </li> <li><a href="/article/1892401826674831360.htm" title="C++ 多线程" target="_blank">C++ 多线程</a> <span class="text-muted">lly202406</span> <a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>C++多线程引言在计算机科学中,多线程是一种常用的技术,它允许一个程序同时执行多个任务。C++作为一门强大的编程语言,提供了多种多线程编程的机制。本文将详细介绍C++多线程编程的相关知识,包括多线程的概念、线程的创建与同步、互斥锁的使用等。一、多线程的概念1.1什么是多线程?多线程指的是在同一程序中,可以同时运行多个线程,每个线程都是程序的一个执行流。这些线程可以并行执行,从而提高程序的执行效率。</div> </li> <li><a href="/article/1892401827257839616.htm" title="C 数据类型" target="_blank">C 数据类型</a> <span class="text-muted">lly202406</span> <a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>C数据类型在C语言编程中,数据类型是定义变量所使用的类型。理解不同数据类型的特点和用途对于编写高效、健壮的代码至关重要。本文将详细介绍C语言中的各种数据类型,包括基本数据类型、枚举类型、结构体类型等,旨在帮助读者全面掌握C语言的数据类型。1.基本数据类型C语言的基本数据类型主要包括以下几种:1.1整型(int)整型用于存储整数。C语言提供了多种整型数据类型,包括:int:有符号整数,通常占用4个字</div> </li> <li><a href="/article/1892397039782785024.htm" title="SAT-3D饮食行为训练系统在营养教学中的应用心得体会" target="_blank">SAT-3D饮食行为训练系统在营养教学中的应用心得体会</a> <span class="text-muted">上海GR</span> <a class="tag" taget="_blank" href="/search/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/1.htm">经验分享</a> <div>在营养学领域的探索之旅中,我有幸深入接触并实践了SAT-3D膳食诊断和饮食行为训练系统(以下简称SAT-3D系统,研制单位:上海共荣医学科技有限公司),这一经历不仅极大地拓宽了我的专业视野,也让我在营养实训教学上获得了前所未有的启示与感悟。SAT-3D系统,作为一个集科学性与实用性于一体的膳食评估与行为干预工具,其在营养实训教学中的应用,无疑为传统的教学模式注入了一股新鲜血液,让我深刻体会到科技赋</div> </li> <li><a href="/article/1892391997902221312.htm" title="SpringBoot+Mybatis 实现简单的学生书籍管理系统" target="_blank">SpringBoot+Mybatis 实现简单的学生书籍管理系统</a> <span class="text-muted">Chronoluckyy</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>本文将介绍如何使用SpringBoot框架来构建一个简单的学生书籍管理系统,其中包括用户的注册和登录验证,并通过分层设计来实现系统的模块化和可维护性。一、准备工作1.使用Navicat创建数据库表2.导入依赖包和对应的数据库驱动在resources/application.propertiespom.xml下导入依赖包org.mybatis.spring.bootmybatis-spring-bo</div> </li> <li><a href="/article/1892391368123281408.htm" title="MyBatis XML映射文件中的批量插入和更新" target="_blank">MyBatis XML映射文件中的批量插入和更新</a> <span class="text-muted">秋分的秋刀鱼</span> <a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/Spring/1.htm">Spring</a><a class="tag" taget="_blank" href="/search/Boot/1.htm">Boot</a><a class="tag" taget="_blank" href="/search/MySQL/1.htm">MySQL</a><a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div>一、背景在数据库操作中,批量插入和更新是一种常见的需求,尤其是在处理大量数据时。MyBatis作为一个强大的持久层框架,提供了灵活的方式来实现这些操作。本文将详细介绍如何使用MyBatisXML映射文件来实现批量插入和更新。这样做的好处是不用一条一条的判断是否存在,而进行新增或者更新操作。二、介绍2.1理解MyBatis批量操作的重要性在许多应用场景中,如数据迁移、同步或批量数据处理,我们需要将大</div> </li> <li><a href="/article/1892390738520502272.htm" title="前端基础入门:HTML、CSS 和 JavaScript" target="_blank">前端基础入门:HTML、CSS 和 JavaScript</a> <span class="text-muted">阿绵</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/js/1.htm">js</a> <div>在现代网页开发中,前端技术扮演着至关重要的角色。无论是个人网站、企业官网,还是复杂的Web应用程序,前端开发的基础技术HTML、CSS和JavaScript都是每个开发者必须掌握的核心技能。本文将详细介绍这三者的基本概念及其应用一、HTML——网页的骨架HTML(HyperTextMarkupLanguage)是构建网页的基础语言。它是网页的结构和内容的标记语言,决定了网页上的文本、图像、表单等元</div> </li> <li><a href="/article/1892386327140298752.htm" title="idea快捷键" target="_blank">idea快捷键</a> <span class="text-muted">yiqi_perss</span> <a class="tag" taget="_blank" href="/search/%E6%97%A5%E5%B8%B8/1.htm">日常</a><a class="tag" taget="_blank" href="/search/intellij-idea/1.htm">intellij-idea</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/ide/1.htm">ide</a> <div>idea快捷键ctrl+`可以切换界面CTRL快捷键介绍Ctrl+`切换界面Ctrl+E打开最近访问的文件Ctrl+shift+e打开你最近编辑的文本Ctrl+R在当前文件进行文本替换(必备)Ctrl+F在当前文件进行文本查找(必备)Ctrl+Z撤销(必备)Ctrl+Y删除光标所在行或删除选中的行(必备)Ctrl+X剪切光标所在行或剪切选择内容Ctrl+C复制光标所在行或复制选择内容Ctrl+D复</div> </li> <li><a href="/article/1892385443702435840.htm" title="sklearn.ConfusionMatrixDisplay可视化混淆矩阵" target="_blank">sklearn.ConfusionMatrixDisplay可视化混淆矩阵</a> <span class="text-muted">Cachel wood</span> <a class="tag" taget="_blank" href="/search/python%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E5%92%8C%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98/1.htm">python机器学习和数据挖掘</a><a class="tag" taget="_blank" href="/search/sklearn/1.htm">sklearn</a><a class="tag" taget="_blank" href="/search/%E7%9F%A9%E9%98%B5/1.htm">矩阵</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>文章目录ConfusionMatrixDisplay详细解释更多定制化ConfusionMatrixDisplayConfusionMatrixDisplay是scikit-learn库中用于可视化混淆矩阵的一个实用工具。混淆矩阵是一种常用的评估分类模型性能的工具,它可以直观地展示模型在各个类别上的预测结果与真实标签之间的关系。下面详细介绍如何使用ConfusionMatrixDisplay进行混</div> </li> <li><a href="/article/26.htm" title="设计模式介绍" target="_blank">设计模式介绍</a> <span class="text-muted">tntxia</span> <a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a> <div>设计模式来源于土木工程师 克里斯托弗 亚历山大(http://en.wikipedia.org/wiki/Christopher_Alexander)的早期作品。他经常发表一些作品,内容是总结他在解决设计问题方面的经验,以及这些知识与城市和建筑模式之间有何关联。有一天,亚历山大突然发现,重复使用这些模式可以让某些设计构造取得我们期望的最佳效果。 亚历山大与萨拉-石川佳纯和穆雷 西乐弗斯坦合作</div> </li> <li><a href="/article/153.htm" title="android高级组件使用(一)" target="_blank">android高级组件使用(一)</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/RatingBar/1.htm">RatingBar</a><a class="tag" taget="_blank" href="/search/Spinner/1.htm">Spinner</a> <div>1、自动完成文本框(AutoCompleteTextView) AutoCompleteTextView从EditText派生出来,实际上也是一个文本编辑框,但它比普通编辑框多一个功能:当用户输入一个字符后,自动完成文本框会显示一个下拉菜单,供用户从中选择,当用户选择某个菜单项之后,AutoCompleteTextView按用户选择自动填写该文本框。 使用AutoCompleteTex</div> </li> <li><a href="/article/280.htm" title="[网络与通讯]路由器市场大有潜力可挖掘" target="_blank">[网络与通讯]路由器市场大有潜力可挖掘</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a> <div>          如果国内的电子厂商和计算机设备厂商觉得手机市场已经有点饱和了,那么可以考虑一下交换机和路由器市场的进入问题.....        这方面的技术和知识,目前处在一个开放型的状态,有利于各类小型电子企业进入  &nbs</div> </li> <li><a href="/article/407.htm" title="自写简单Redis内存统计shell" target="_blank">自写简单Redis内存统计shell</a> <span class="text-muted">商人shang</span> <a class="tag" taget="_blank" href="/search/Linux+shell/1.htm">Linux shell</a><a class="tag" taget="_blank" href="/search/%E7%BB%9F%E8%AE%A1Redis%E5%86%85%E5%AD%98/1.htm">统计Redis内存</a> <div>#!/bin/bash address="192.168.150.128:6666,192.168.150.128:6666" hosts=(${address//,/ }) sfile="staticts.log" for hostitem in ${hosts[@]} do ipport=(${hostitem</div> </li> <li><a href="/article/534.htm" title="单例模式(饿汉 vs懒汉)" target="_blank">单例模式(饿汉 vs懒汉)</a> <span class="text-muted">oloz</span> <a class="tag" taget="_blank" href="/search/%E5%8D%95%E4%BE%8B%E6%A8%A1%E5%BC%8F/1.htm">单例模式</a> <div>package 单例模式; /* * 应用场景:保证在整个应用之中某个对象的实例只有一个 * 单例模式种的《 懒汉模式》 * */ public class Singleton { //01 将构造方法私有化,外界就无法用new Singleton()的方式获得实例 private Singleton(){}; //02 申明类得唯一实例 priva</div> </li> <li><a href="/article/661.htm" title="springMvc json支持" target="_blank">springMvc json支持</a> <span class="text-muted">杨白白</span> <a class="tag" taget="_blank" href="/search/json+springmvc/1.htm">json springmvc</a> <div>1.Spring mvc处理json需要使用jackson的类库,因此需要先引入jackson包 2在spring mvc中解析输入为json格式的数据:使用@RequestBody来设置输入 @RequestMapping("helloJson") public @ResponseBody JsonTest helloJson() { </div> </li> <li><a href="/article/788.htm" title="android播放,掃描添加本地音頻文件" target="_blank">android播放,掃描添加本地音頻文件</a> <span class="text-muted">小桔子</span> <div>        最近幾乎沒有什麽事情,繼續鼓搗我的小東西。想在項目中加入一個簡易的音樂播放器功能,就像華為p6桌面上那麼大小的音樂播放器。用過天天動聽或者QQ音樂播放器的人都知道,可已通過本地掃描添加歌曲。不知道他們是怎麼實現的,我覺得應該掃描設備上的所有文件,過濾出音頻文件,每個文件實例化為一個實體,記錄文件名、路徑、歌手、類型、大小等信息。具體算法思想,</div> </li> <li><a href="/article/915.htm" title="oracle常用命令" target="_blank">oracle常用命令</a> <span class="text-muted">aichenglong</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/dba/1.htm">dba</a><a class="tag" taget="_blank" href="/search/%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4/1.htm">常用命令</a> <div>1 创建临时表空间 create temporary tablespace user_temp  tempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf' size 50m  autoextend on  next 50m maxsize 20480m  extent management local</div> </li> <li><a href="/article/1042.htm" title="25个Eclipse插件" target="_blank">25个Eclipse插件</a> <span class="text-muted">AILIKES</span> <a class="tag" taget="_blank" href="/search/eclipse%E6%8F%92%E4%BB%B6/1.htm">eclipse插件</a> <div>提高代码质量的插件1. FindBugsFindBugs可以帮你找到Java代码中的bug,它使用Lesser GNU Public License的自由软件许可。2. CheckstyleCheckstyle插件可以集成到Eclipse IDE中去,能确保Java代码遵循标准代码样式。3. ECLemmaECLemma是一款拥有Eclipse Public License许可的免费工具,它提供了</div> </li> <li><a href="/article/1169.htm" title="Spring MVC拦截器+注解方式实现防止表单重复提交" target="_blank">Spring MVC拦截器+注解方式实现防止表单重复提交</a> <span class="text-muted">baalwolf</span> <a class="tag" taget="_blank" href="/search/spring+mvc/1.htm">spring mvc</a> <div>原理:在新建页面中Session保存token随机码,当保存时验证,通过后删除,当再次点击保存时由于服务器端的Session中已经不存在了,所有无法验证通过。   1.新建注解:   ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 </div> </li> <li><a href="/article/1296.htm" title="《Javascript高级程序设计(第3版)》闭包理解" target="_blank">《Javascript高级程序设计(第3版)》闭包理解</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a> <div>“闭包是指有权访问另一个函数作用域中的变量的函数。”--《Javascript高级程序设计(第3版)》         看以下代码: <script type="text/javascript"> function outer() { var i = 10; return f</div> </li> <li><a href="/article/1423.htm" title="AngularJS Module类的方法" target="_blank">AngularJS Module类的方法</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/AngularJS/1.htm">AngularJS</a><a class="tag" taget="_blank" href="/search/Module/1.htm">Module</a> <div>        AngularJS中的Module类负责定义应用如何启动,它还可以通过声明的方式定义应用中的各个片段。我们来看看它是如何实现这些功能的。 一.Main方法在哪里         如果你是从Java或者Python编程语言转过来的,那么你可能很想知道AngularJS里面的main方法在哪里?这个把所</div> </li> <li><a href="/article/1550.htm" title="[Maven学习笔记七]Maven插件和目标" target="_blank">[Maven学习笔记七]Maven插件和目标</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/maven%E6%8F%92%E4%BB%B6/1.htm">maven插件</a> <div>插件(plugin)和目标(goal) Maven,就其本质而言,是一个插件执行框架,Maven的每个目标的执行逻辑都是由插件来完成的,一个插件可以有1个或者几个目标,比如maven-compiler-plugin插件包含compile和testCompile,即maven-compiler-plugin提供了源代码编译和测试源代码编译的两个目标   使用插件和目标使得我们可以干预</div> </li> <li><a href="/article/1677.htm" title="【Hadoop八】Yarn的资源调度策略" target="_blank">【Hadoop八】Yarn的资源调度策略</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a> <div>1. Hadoop的三种调度策略 Hadoop提供了3中作业调用的策略, FIFO Scheduler Fair Scheduler Capacity Scheduler 以上三种调度算法,在Hadoop MR1中就引入了,在Yarn中对它们进行了改进和完善.Fair和Capacity Scheduler用于多用户共享的资源调度   2. 多用户资源共享的调度 </div> </li> <li><a href="/article/1804.htm" title="Nginx使用Linux内存加速静态文件访问" target="_blank">Nginx使用Linux内存加速静态文件访问</a> <span class="text-muted">ronin47</span> <div>Nginx是一个非常出色的静态资源web服务器。如果你嫌它还不够快,可以把放在磁盘中的文件,映射到内存中,减少高并发下的磁盘IO。 先做几个假设。nginx.conf中所配置站点的路径是/home/wwwroot/res,站点所对应文件原始存储路径:/opt/web/res shell脚本非常简单,思路就是拷贝资源文件到内存中,然后在把网站的静态文件链接指向到内存中即可。具体如下: </div> </li> <li><a href="/article/1931.htm" title="关于Unity3D中的Shader的知识" target="_blank">关于Unity3D中的Shader的知识</a> <span class="text-muted">brotherlamp</span> <a class="tag" taget="_blank" href="/search/unity/1.htm">unity</a><a class="tag" taget="_blank" href="/search/unity%E8%B5%84%E6%96%99/1.htm">unity资料</a><a class="tag" taget="_blank" href="/search/unity%E6%95%99%E7%A8%8B/1.htm">unity教程</a><a class="tag" taget="_blank" href="/search/unity%E8%A7%86%E9%A2%91/1.htm">unity视频</a><a class="tag" taget="_blank" href="/search/unity%E8%87%AA%E5%AD%A6/1.htm">unity自学</a> <div>首先先解释下Unity3D的Shader,Unity里面的Shaders是使用一种叫ShaderLab的语言编写的,它同微软的FX文件或者NVIDIA的CgFX有些类似。传统意义上的vertex shader和pixel shader还是使用标准的Cg/HLSL 编程语言编写的。因此Unity文档里面的Shader,都是指用ShaderLab编写的代码,然后我们来看下Unity3D自带的60多个S</div> </li> <li><a href="/article/2058.htm" title="CopyOnWriteArrayList vs ArrayList" target="_blank">CopyOnWriteArrayList vs ArrayList</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>package com.ljn.base; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; /** * 总述: * 1.ArrayListi不是线程安全的,CopyO</div> </li> <li><a href="/article/2185.htm" title="内存中栈和堆的区别" target="_blank">内存中栈和堆的区别</a> <span class="text-muted">chicony</span> <a class="tag" taget="_blank" href="/search/%E5%86%85%E5%AD%98/1.htm">内存</a> <div> 1、内存分配方面:     堆:一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式是类似于链表。可能用到的关键字如下:new、malloc、delete、free等等。     栈:由编译器(Compiler)自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中</div> </li> <li><a href="/article/2312.htm" title="回答一位网友对Scala的提问" target="_blank">回答一位网友对Scala的提问</a> <span class="text-muted">chenchao051</span> <a class="tag" taget="_blank" href="/search/scala/1.htm">scala</a><a class="tag" taget="_blank" href="/search/map/1.htm">map</a> <div>本来准备在私信里直接回复了,但是发现不太方便,就简要回答在这里。 问题 写道 对于scala的简洁十分佩服,但又觉得比较晦涩,例如一例,Map("a" -> List(11,111)).flatMap(_._2),可否说下最后那个函数做了什么,真正在开发的时候也会如此简洁?谢谢    先回答一点,在实际使用中,Scala毫无疑问就是这么简单。</div> </li> <li><a href="/article/2439.htm" title="mysql 取每组前几条记录" target="_blank">mysql 取每组前几条记录</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E7%BB%84/1.htm">分组</a><a class="tag" taget="_blank" href="/search/%E6%9C%80%E5%A4%A7%E5%80%BC/1.htm">最大值</a><a class="tag" taget="_blank" href="/search/%E6%9C%80%E5%B0%8F%E5%80%BC/1.htm">最小值</a><a class="tag" taget="_blank" href="/search/%E6%AF%8F%E7%BB%84%E4%B8%89%E6%9D%A1%E8%AE%B0%E5%BD%95/1.htm">每组三条记录</a> <div>一、对分组的记录取前N条记录:例如:取每组的前3条最大的记录 1.用子查询: SELECT * FROM tableName a  WHERE 3> (SELECT COUNT(*) FROM  tableName b WHERE b.id=a.id AND b.cnt>a. cnt) ORDER BY a.id,a.account DE</div> </li> <li><a href="/article/2566.htm" title="HTTP深入浅出 http请求" target="_blank">HTTP深入浅出 http请求</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/http/1.htm">http</a> <div>  HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则。计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务器)请求信息和服务,HTTP目前协议的版本是1.1.HTTP是一种无状态的协议,无状态是指Web浏览器和Web服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后We</div> </li> <li><a href="/article/2693.htm" title="判断MySQL记录是否存在方法比较" target="_blank">判断MySQL记录是否存在方法比较</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div>把数据写入到数据库的时,常常会碰到先要检测要插入的记录是否存在,然后决定是否要写入。   我这里总结了判断记录是否存在的常用方法:   sql语句: select   count ( * )  from  tablename;   然后读取count(*)的值判断记录是否存在。对于这种方法性能上有些浪费,我们只是想判断记录记录是否存在,没有必要全部都查出来。</div> </li> <li><a href="/article/2820.htm" title="对HTML XML的一点认识" target="_blank">对HTML XML的一点认识</a> <span class="text-muted">e200702084</span> <a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a> <div>感谢http://www.w3school.com.cn提供的资料 HTML 文档中的每个成分都是一个节点。 节点 根据 DOM,HTML 文档中的每个成分都是一个节点。 DOM 是这样规定的: 整个文档是一个文档节点 每个 HTML 标签是一个元素节点 包含在 HTML 元素中的文本是文本节点 每一个 HTML 属性是一个属性节点 注释属于注释节点 Node 层次 </div> </li> <li><a href="/article/2947.htm" title="jquery分页插件" target="_blank">jquery分页插件</a> <span class="text-muted">genaiwei</span> <a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E9%A1%B5/1.htm">分页</a><a class="tag" taget="_blank" href="/search/%E6%8F%92%E4%BB%B6/1.htm">插件</a> <div>//jquery页码控件// 创建一个闭包    (function($) {      // 插件的定义      $.fn.pageTool = function(options) {        var totalPa</div> </li> <li><a href="/article/3201.htm" title="Mybatis与Ibatis对照入门于学习" target="_blank">Mybatis与Ibatis对照入门于学习</a> <span class="text-muted">Josh_Persistence</span> <a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a><a class="tag" taget="_blank" href="/search/ibatis/1.htm">ibatis</a><a class="tag" taget="_blank" href="/search/%E5%8C%BA%E5%88%AB/1.htm">区别</a><a class="tag" taget="_blank" href="/search/%E8%81%94%E7%B3%BB/1.htm">联系</a> <div>一、为什么使用IBatis/Mybatis         对于从事 Java EE 的开发人员来说,iBatis 是一个再熟悉不过的持久层框架了,在 Hibernate、JPA 这样的一站式对象 / 关系映射(O/R Mapping)解决方案盛行之前,iBaits 基本是持久层框架的不二选择。即使在持久层框架层出不穷的今天,iBatis 凭借着易学易用、</div> </li> <li><a href="/article/3328.htm" title="C中怎样合理决定使用那种整数类型?" target="_blank">C中怎样合理决定使用那种整数类型?</a> <span class="text-muted">秋风扫落叶</span> <a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B/1.htm">数据类型</a> <div>如果需要大数值(大于32767或小于32767), 使用long 型。 否则, 如果空间很重要 (如有大数组或很多结构), 使用 short 型。 除此之外, 就使用 int 型。 如果严格定义的溢出特征很重要而负值无关紧要, 或者你希望在操作二进制位和字节时避免符号扩展的问题, 请使用对应的无符号类型。 但是, 要注意在表达式中混用有符号和无符号值的情况。    &nbs</div> </li> <li><a href="/article/3455.htm" title="maven问题" target="_blank">maven问题</a> <span class="text-muted">zhb8015</span> <a class="tag" taget="_blank" href="/search/maven%E9%97%AE%E9%A2%98/1.htm">maven问题</a> <div>  问题1: Eclipse 中 新建maven项目 无法添加src/main/java 问题    eclipse创建maevn web项目,在选择maven_archetype_web原型后,默认只有src/main/resources这个Source Floder。     按照maven目录结构,添加src/main/ja</div> </li> <li><a href="/article/3582.htm" title="(二)androidpn-server tomcat版源码解析之--push消息处理" target="_blank">(二)androidpn-server tomcat版源码解析之--push消息处理</a> <span class="text-muted">spjich</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/androdipn/1.htm">androdipn</a><a class="tag" taget="_blank" href="/search/%E6%8E%A8%E9%80%81/1.htm">推送</a> <div>在 (一)androidpn-server tomcat版源码解析之--项目启动这篇中,已经描述了整个推送服务器的启动过程,并且把握到了消息的入口即XmppIoHandler这个类,今天我将继续往下分析下面的核心代码,主要分为3大块,链接创建,消息的发送,链接关闭。 先贴一段XmppIoHandler的部分代码 /** * Invoked from an I/O proc</div> </li> <li><a href="/article/3709.htm" title="用js中的formData类型解决ajax提交表单时文件不能被serialize方法序列化的问题" target="_blank">用js中的formData类型解决ajax提交表单时文件不能被serialize方法序列化的问题</a> <span class="text-muted">中华好儿孙</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/%E4%B8%8A%E4%BC%A0%E6%96%87%E4%BB%B6/1.htm">上传文件</a><a class="tag" taget="_blank" href="/search/FormData/1.htm">FormData</a> <div> var formData = new FormData($("#inputFileForm")[0]); $.ajax({ type:'post', url:webRoot+"/electronicContractUrl/webapp/uploadfile", data:formData, async: false, ca</div> </li> <li><a href="/article/3836.htm" title="mybatis常用jdbcType数据类型" target="_blank">mybatis常用jdbcType数据类型</a> <span class="text-muted">ysj5125094</span> <a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a><a class="tag" taget="_blank" href="/search/mapper/1.htm">mapper</a><a class="tag" taget="_blank" href="/search/jdbcType/1.htm">jdbcType</a> <div>  MyBatis 通过包含的jdbcType 类型 BIT         FLOAT      CHAR          </div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>