是否可以在javascript中的tinymce编辑器中设置语言?

2023-12-23

我为我的asp.net应用程序使用了tinymce文本编辑。现在我添加了语言包。现在我想以编程方式设置文本编辑器的语言包。并且还从可见状态隐藏语言包栏。

例如:我想以编程方式将文本编辑器的语言设置为印地语。请指导我摆脱这个......

每当用户单击我的网络表单中的翻译按钮时,我就初始化了这个字符串变量。然后我想以编程方式设置tinymce编辑器语言。

string lang="印地语";

ptp.js

function LoadTypePad()
{
    // Initialize pad

    tinyMCE.init({
        // General options
        mode : "textareas",
        theme : "advanced",
        skin : "o2k7",
        skin_variant : "silver",
        plugins : "safari,style,table,advhr,advimage,advlink,inlinepopups,insertdatetime,preview,media,searchreplace,print,paste,fullscreen,indicime,aksharspellchecker",

        // Theme options
        theme_advanced_buttons1 : "newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,formatselect,fontsizeselect,fontselect,aksharspellchecker,indicime, indicimehelp",
        theme_advanced_buttons2 : "selectall,cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
        theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,media,advhr,|,print",
        theme_advanced_toolbar_location : "top",
        theme_advanced_toolbar_align : "left",
        theme_advanced_statusbar_location : "bottom",
        theme_advanced_resizing : true,
        spellchecker_rpc_url:"http://service.vishalon.net/spellchecker.aspx",
        // Example content CSS (should be your site CSS)
        content_css : "css/content.css",

        // Drop lists for link/image/media/template dialogs
        template_external_list_url : "lists/template_list.js",
        external_link_list_url : "lists/link_list.js",
        external_image_list_url : "lists/image_list.js",
        media_external_list_url : "lists/media_list.js",
        width : "100%",
        init_instance_callback : "afterInit"
    });
}

function showPleaseWait()
{
    var mainMessage = document.getElementById("message").innerHTML;
    document.getElementById("message").innerHTML = pleaseWait;
    pleaseWait = mainMessage;
}

// This function finds absolute position of the element in screen and returns array.
function findPos(obj) {
    var curleft = curtop = 0;
    if (obj.offsetParent) {
        do {
            curleft += obj.offsetLeft;
            curtop += obj.offsetTop;
        } while (obj = obj.offsetParent);
        return [curleft,curtop];
    }
}
// id= outer most id for show/hide. baseid = reference id for pointer
function showPopup(id, baseid)
{
    toggle_menu(id);
    var base = document.getElementById(baseid);
    var l = findPos(base);
    var obj = document.getElementById(id + 'content');
    var im = document.getElementById(id + 'img');
    var left = im.src.indexOf('left.gif') > 0;

    obj.style.top = (l[1] - obj.offsetHeight - 20) + "px";
    obj.style.left = (l[0] + (base.offsetWidth/2) - (left?obj.offsetWidth:0)) + "px";

    l = findPos(obj);
    im.style.top = (l[1] + obj.offsetHeight - 1) + "px";
    im.style.left = (l[0] + (left?obj.offsetWidth - 26:0)) + "px";
}

function closePopup()
{
    // hide popup
    var elem = document.getElementById("step1");
    elem.style.display = "none";
    elem = document.getElementById("step2");
    elem.style.display = "none";
    elem = document.getElementById("step3");
    elem.style.display = "none";
}
// Once tinymce is fully loaded
function afterInit()
{
    // Find search string from referral
    var term = document.referrer;
    var re = /bengali|gujarati|gujrati|hindi|marathi|devnagari|devanagari|punjabi|gurmukhi|kannada|malayalam|tamil|telugu|thelugu|thamil/gi ; 
    var m = re.exec(term);
    var result ='';
    if (m != null && m.length > 0)
        result = "<strong>" + m[0] + "</strong>";
    else
        result = "your favourite Indic Script";
    // Create popup
    CreatePopup("step1", "Step 1", "Click here to erase existing contents", "right");
    CreatePopup("step2", "Step 2", "Select " + result + " from this dropdown list and start typing.", "left");
    CreatePopup("step3", "Step 3", "Click here to get a help for typing once you selected script in Step 2", "right");

    // Restore the message from please wait to spell checker
    document.getElementById("message").innerHTML = "Now Akshar Spell Checker for Gujarati is available!!! Click on <img src=\"tiny_mce/plugins/aksharspellchecker/img/aksharspellchecker.gif\"> to check Gujarati spelling";

    // Initialize for google search
    pph = new PramukhPhoneticHandler();
    pph.convertToIndicIME("q");
    pph.onScriptChange("q", indicChange);

    // Open up popups
    showPopup("step1","elm1_newdocument");
    showPopup("step2","elm1_indicime");
    showPopup("step3","elm1_indicimehelp");

    // Close popup after xx seconds.
    setTimeout("closePopup();",15000);
}

function toggle_menu(id)
{
    var elem = document.getElementById(id);
    elem.style.display = elem.style.display=="none"? "":"none";
}

function CheckNewVersion()
{
    var JSONRequest = tinymce.util.JSONRequest;
    try {
        netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
    } catch (e) {
// do nothing
    }
    JSONRequest.sendRPC({
            url : "http://service.vishalon.net/pramukhtypepadmessage.aspx?v=2.5.00",
            method : "",
            params : "",
            type: "GET",
            success : function(r){
                var message = r.substring(r.indexOf(",")+1);
                if (message != "")
                    document.getElementById("message").innerHTML = "<img src='img/info.jpg' >" + message + "<br><br>";
                },
                error : function(e, x) {
                    // do nothing 
                }
            });
}
function indicChange(id, lang)
{
    var s = document.getElementById('language');
    s.value = lang;
    if (lang == null || lang == "")
        lang = 'english';
    pph.setScript(id, lang);
}
function CreatePopup(id, title,content, dir)
{
    var holder = document.getElementById("plholder");
    holder.innerHTML += "<div id='" +id + "' style='display:none;'>"+
        "<div class='popupbody' id='" +id + "content'>" +
    "<div style='float:right;'><img src='img/close.gif' style='cursor:pointer;cursor:hand;' onclick='toggle_menu(\"" + id + "\");'/></div>"+
    "<div><strong>" + title + "</strong></div>"+
    "<div style='clear:both'></div>"+
    "<div>" + content + "</div>"+
    "</div>"+
    "<img src='img/" + dir + ".gif' id='" + id + "img' style='position:absolute;'/>"+
    "</div>";
}

var pph, pleaseWait = "Please wait while Pramukh Type Pad is loading... <img src='img/progress.gif' /> &nbsp;&nbsp;(Loading problem??? Get <a href=\"pramukhlibex.htm\">Simple Pramukh Type Pad</a> )";

你必须下载你的并解压它。
然后你必须将每个js文件放入tinymce文件夹的相应文件夹中。
您必须指定language http://www.tinymce.com/wiki.php/Configuration%3alanguage以及。
如果您正在使用TinyMCE - jQuery 插件 http://www.tinymce.com/wiki.php/jQuery_Plugin你必须做这样的事情:

// Initializes all textareas with the tinymce class
$(document).ready(function() {
   $('textarea.tinymce').tinymce({
      script_url : '../js/tinymce/jscripts/tiny_mce/tiny_mce.js',
      theme : "advanced",
      language: "hi",
      ...
   });
});

如果您想从文本区域中删除tinyMCE(我想如果您想重置语言,则必须这样做),您可以使用以下代码:

tinyMCE.execCommand('mceRemoveControl', false, 'mycontrol_id');

作为指定here http://www.tinymce.com/wiki.php/Command_identifiers.

您可以使用相同的代码重新创建它。 您可以将所有内容包装在函数中并传递语言参数:

function setup(language) {
   tinyMCE.init({
      mode : "textareas",
      theme : "advanced",
      language: language,
      plugins : "pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",
      theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",
      theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
      theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
      theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak",
      theme_advanced_toolbar_location : "top",
      theme_advanced_toolbar_align : "left",
      theme_advanced_statusbar_location : "bottom",
      theme_advanced_resizing : true
   });
}

如果你想删除buttons http://www.tinymce.com/wiki.php/Configuration%3atheme_advanced_buttons_1_n从工具栏中,您必须执行以下操作:

theme_advanced_buttons1 
theme_advanced_buttons2
...

删除那些你不需要的。
有所有按钮和插件的列表here http://www.tinymce.com/wiki.php/Buttons/controls.
如果您想添加自己的按钮,您可以找到示例here http://www.tinymce.com/tryit/custom_toolbar_button.php.

UPDATE:

由于您使用了自己的插件,我猜您已经在插件部分中定义了它:

tinyMCE.init({
    mode : "textareas",
    theme : "advanced",
    language: 'hi',
    plugins : "myPlugin, pagebreak ... ",
    theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",
    theme_advanced_buttons2 : "myPlugin",
    ...
    });

如果您不想显示它,只需将其从列表中删除即可主题_高级_按钮2.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以在javascript中的tinymce编辑器中设置语言? 的相关文章

  • 使用 TinyMCE 突出显示文本

    目前我有一个使用 TinyMCE 的文本区域 http fiddle tinymce com D2gaab http fiddle tinymce com D2gaab 我想突出显示左大括号 右大括号之间的文本 有人知道这是否可能 以及我该
  • Asp.net TinyMCE 编辑器未显示在线 Windows 服务器,但它可以在本地主机上运行

    TinyMCE 编辑器在发布后未显示 不过 它可以在本地主机上运行 这是我所看到的 您需要提供baseURL在初始化之前到tinyMCE 你可以在之前这样做tinymce init 通常 如果没有这个 它可以在本地主机上工作 但在服务器上它
  • TinyMCE 不工作 - 即使有他们的例子?

    ISSUE 我正在尝试使用 TinyMCE 4 0 12 但无法让它工作 它只会让我的文本区域完全消失 到目前为止我所做的 我什至从他们的页面准确复制了他们的示例代码 但它甚至不起作用 我已将所有文件提取到 js tinymce 我是否缺少
  • 从请求中接受一组预定义的无害 HTML 标记有多安全?

    作为一名 Web 开发人员 我学到的第一件事就是永远不要接受来自客户端的任何 HTML 也许只有我对它进行 HTML 编码 我使用输出 HTML 的所见即所得编辑器 TinyMCE 到目前为止 我只在管理页面上使用它 但现在我也想在论坛上使
  • TinyMCE v4 关闭 blob

    我不想tinymce使用斑点来处理小图像 因为我正在转换它们data images到真实图像 我正在替换img src 当我有了真实的图像之后 我怎样才能做到只得到data image图片 是否可以 我试过 automatic upload
  • tinyMCE 获取编辑器返回 null

    我在具有不同 id 的 2 个文本区域上初始化 2 个 tinyMCE 编辑器 var variable array id cName test mon test tinymce init selector model editor ent
  • 如何让tinymce(浏览器内的“富编辑器”)保留缩进

    问题 我将 Drupal 与丰富的编辑器一起使用 而丰富的编辑器喜欢通过删除缩进和格式来破坏我的文本 这在桌面编辑器中是不可接受的 但人们似乎可以在浏览器内编辑器中容忍这种情况 问 如何关闭此功能 我已经四处搜索 但尚未找到告诉富编辑器保留
  • TinyMCE 在 DOM 中渲染后执行操作

    我正在使用 TinyMCE 4 并按如下方式设置 tinyMCE init mode specific textareas editor selector basicTinyMCE theme modern readonly false 我
  • 从 TinyMCE 对话框中获取输入字段值

    all 我很难弄清楚这一点 这是我第二次需要用tinyMCE做一些事情 但这次我找不到答案 这就是我想要做的 我在编辑器上添加了一个按钮 用于打开一个带有单个文本输入字段和一个按钮的新弹出窗口 我想单击按钮并获取在输入字段中设置的值 然后使
  • Google 翻译 API V2 的速率限制是多少?

    我非常频繁地使用 Google 翻译 API V2 在大约 2000 个请求之后 我开始在返回的 JSON 中得到以下内容 Array error gt Array errors gt Array 0 gt Array domain gt
  • TinyMCE 和 JQuery 对话框:TinyMCE 仅当对话框中的 modal:true 时才读取

    我在Dialog插件中使用TinyMCD插件 一切正常 直到我将对话框的模态参数设置为 true 当我这样做时 TinyMCE 文本区域仅在第一次打开对话框时正常工作 然后变为只读 这是我的代码示例 tinyMCE init mode no
  • 如何在 C# winforms 中翻译文本

    我需要翻译一些文本 我正在尝试使用谷歌翻译器来翻译它 我检查了这个article http martinnormark com translate text in c using google translate 但我在以下代码中遇到异常
  • 如何使用 json 谷歌翻译 api?

    我正在尝试使用来自 python 的 google 翻译和 utf 8 文本 如何调用json api 他们有一个将其嵌入 html 的文档 但我在任何地方都找不到合适的 API 或 wsdl 谢谢 拉斐尔 这是最终对我有用的代码 使用没有
  • TinyMCE 选择文本并使用 javascript 激活链接对话

    我正在尝试编写一个自动化 使用黄瓜 水豚 硒 测试 它将在tinymce框中选择一些文本 单击链接按钮 然后打开链接选择页面 但链接按钮仅在选择某些文本时才变为活动状态 所以第一轮 tinyMCE activeEditor selectio
  • 什么是 TinyMCE jQuery 包?

    我被要求在项目中使用 TinyMCE 编辑器 在下载页面上 有一个主包 然后是一个 jQuery 包 This package contains special jQuery build of TinyMCE and a jQuery in
  • 使用 Google Translate API 获取单词的发音

    我正在尝试将法语单词的发音保存到 wav 或 mp3 文件中 我想知道 Google Translate API 上是否有任何地方 因为它有发音功能 可以让我实现这个目标 其他库也可以工作 自从提出这个问题以来 从谷歌翻译中 抓取 MP3
  • 如何更改 WordPress 的 TinyMCE 默认字体

    我在 SO 上看到这个问题 但所有答案都未能具体说明如何改变这一点 我的意思是这样的 答案说 添加这个 但他们无法告诉我在哪里 我的意思是 哪个文件 并且必须是一名火箭科学家才能弄清楚 有人可以解释一下吗就像我五岁一样 好吧 设为 3 我必
  • 资产:预编译 - 权限被拒绝 - 仅在一台计算机上

    我的 dropbox 文件夹中有一个 Rails 应用程序项目文件夹 我在 2 台电脑上工作 家用电脑和笔记本电脑 均为 win 7 If I do bundle exec rake assets precompile在电脑上运行正常 我看
  • TinyMCE 显示为 A4

    我的网站上有一个 TinyMCE 编辑器 我希望以 A4 格式显示可编辑区域 或整个内容 基本上 我想以与在 MS Word 中相同的方式查看文档 宽度 分页符等 这可能吗 请为我指明正确的方向 每个人都说这很难 但谷歌已经在 Google
  • 如何在 Google Translate Node.js 代码中设置 API KEY

    我正在尝试创建一个使用 Google Translate API 的 Node js 代码 我从以下代码中得到了谷歌文档 https cloud google com translate docs translating text 但是当我

随机推荐