1

我正在使用我TinyMCE所有需要 WYSISYG 的页面。坦率地说,我有很多。

我实际上使用相同的代码来为每个页面实例化 tinymce() jquery 插件,我想知道是否有办法在每个页面已经引用的某个地方设置我的首选选项一次,所以我不必在每个页面中保留相同的大容量代码。

到目前为止,这是我对每个页面所做的:

<script language="javascript" type="text/javascript">
$(document).ready(function(){

$("textarea#comments").tinymce({
    script_url : '/tiny_mce/tiny_mce.js', // Location of TinyMCE script 
    // General options 
    theme : "advanced", 
    plugins : "pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,advlist", 
    force_p_newlines : false, 
    force_br_newlines : true, 
    /*forced_root_block : '',*/ 
    // Theme options 
    theme_advanced_buttons1 : "bold,italic,underline,strikethrough,hr,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsizeselect|styleprops,forecolor,backcolor,|,link,unlink,image,|,bullist,numlist,removeformat,code,|,preview", 
    theme_advanced_buttons2 : "", 
    theme_advanced_buttons3 : "", 
    theme_advanced_buttons4 : "", 
    theme_advanced_toolbar_location : "top", 
    theme_advanced_toolbar_align : "left", 
    theme_advanced_statusbar_location : "bottom", 
    theme_advanced_resizing : true, 
    theme_advanced_resize_horizontal: false 
});

});
</script>

我想简单地看到这个:

$("textarea#comments").tinymce();

据我了解,tinymce有 2 个主题:高级和简单。高级有太多选择,而简单却没有足够的选择。所以现在我必须挑选我的选项,但在每一页上重新列出上面的代码似乎很疯狂。

有任何想法吗?

4

2 回答 2

0

初始化代码必须放在所有需要 tinyMCE 的页面的 HEAD 元素中。

在官方文档中,我们可以看到:

作为替代方案,可以将 tinyMCE.init 语句放在它自己的文件中并在脚本标签中引用:

<html>
<head>
<script language="javascript" type="text/javascript" src="../jscripts/tiny_mce/tiny_mce.js"></script>
<script language="javascript" type="text/javascript" src="../jscripts/tiny_mce/basic_config.js"></script>
</head>

来源:http ://www.tinymce.com/wiki.php/Configuration

因此,您可以拥有一个配置文件,并在页面头部调用它,只需一行代码。

于 2013-02-01T23:02:30.790 回答
0

除了 Sébastien Gicquels 的回答之外,您可能还有一个默认的 tinymce init 对象,您可以使用脚本文件加载该对象

var init_base_object = {
    theme: 'advanced',
    language : 'en',
    ...
};

var tinymce_additional = {

    language : 'en',

    width: "800",
    height: "600",

        theme_advanced_buttons1 : "bold,italic,underline",
        theme_advanced_buttons2 : ""
};

$(document).ready(function(){
    init_obj = {element_id:'xyz', window: window};
    $.extend(true, tinymce_additional, init_base_object);
    $.extend(true, init_obj , tinymce_additional);
    tinyMCE.execCommand('mceAddFrameControl',false, init_obj);
});
于 2013-02-04T09:50:23.400 回答