用于禁用tinymce可视编辑器的书签?

时间:2011-06-22 18:16:06

标签: javascript tinymce bookmarklet

我正在寻找一个用于禁用tinymce可视化编辑器的书签。这就是说,一些代码可以粘贴到地址栏中以禁用编辑器(还有书签)。

有人有什么想法吗?

我想要使用的页面是使用较旧版本的TinyMce,我认为该页面使用的版本相同:http://www.imathas.com/editordemo/demo.html

重申一下,我想删除TinyMce编辑器并离开textarea。

如果您想查看我正在讨论的功能,您还可以访问此示例页面:http://www.matracas.org/sentido/tinymce/examples/full.html并单击编辑器下方的启用/禁用按钮。

这里的问题是语法依赖于知道要放入.get()函数的编辑器ID。

tinyMCE.get('elm1').hide();
tinyMCE.get('elm1').show();

小书签最好只使用tinMCE的显示/隐藏功能,但它适用于页面上的所有编辑器。

3 个答案:

答案 0 :(得分:1)

你走了!

javascript:(function(){var arr=Object.keys(tinyMCE.editors);for(var i=0;i<arr.length;i++){try{tinyMCE.editors[arr[i]].remove();}catch(e){}}})()

更令人愉悦,但代码相同:

javascript:
(function(){
  var arr=Object.keys(tinyMCE.editors);
  for(var i=0;i<arr.length;i++){
    try{
      tinyMCE.editors[arr[i]].remove();
    }
    catch(e){
    }
  }
}
)()

答案 1 :(得分:0)

我使用jQuery启动所有的bookmarklet,虽然这可能会更好地作为一个greasemonkey脚本,取决于你想要做什么。

javascript:
function loadScript(url, callback){
        var head = document.getElementsByTagName("head")[0];
        var script = document.createElement("script");
        script.src = url;

        var done = false;
        script.onload = script.onreadystatechange = function()        {
                if( !done && ( !this.readyState 
                                        || this.readyState == "loaded" 
                                        || this.readyState == "complete") )
                {
                        done = true;

                        callback();

                        script.onload = script.onreadystatechange = null;
                        head.removeChild( script );
                }
        };

        head.appendChild(script);
}

loadScript("http://code.jquery.com/jquery-latest.js", function(){
    jQuery('.mceEditor').remove(); }

答案 2 :(得分:0)

我在我的bookmarklet集合中添加了一个TinyMCE移除器: http://richardbronosky.github.com/Perfect-Bookmarklets/tinymce.html

与我见过的其他人相比,它有一个主要优势。它将textarea的内容恢复到源中的内容。我不知道其他人是否经历过这种情况,但我们有CMS和TinyMCE的网络管理员,当删除时会更改代码。我已经解决了这个问题。

以下是代码:

  for(var i=0;i<tinymce.editors.length;i++){
    var tmpId=tinymce.editors[i].id;
    var tmpVal=document.getElementById(tmpId).value;
    tinyMCE.execCommand("mceRemoveControl",true,tmpId);
    document.getElementById(tmpId).value=tmpVal
  }

同样在github上: https://github.com/RichardBronosky/Perfect-Bookmarklets/blob/master/tinymce.html