2011-06-22 14 views
2

私はtinymceビジュアルエディタを無効にするブックマークレットを探しています。これは、エディタを無効にするためにアドレスバーに貼り付けることができる(そしてブックマークされた)いくつかのコードです。tinymceビジュアルエディタを無効にするブックマークレット?

誰もが考えている?

私はそれを使用するページは、TinyMCEをの古いバージョンを使用して、私はこのページで使用されているものと同じバージョンだと思う。ただ、繰り返しにhttp://www.imathas.com/editordemo/demo.html

を、私はTinyMCEのエディタを削除し、残したいですテキストエリア。

私が話している機能を見たい場合は、この例のページhttp://www.matracas.org/sentido/tinymce/examples/full.htmlにアクセスして、エディタの下の有効/無効のボタンをクリックすることもできます。

ここでの問題は、構文が.get()関数に入れるエディタIDを知っていることに依存していることです。

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

ブックマークレットは、理想的にはちょうどtinMCEの表示/非表示機能を使用しますが、それはページ上のすべての編集者のために働くだろう。

+0

は、あなたがそれを上取り除くためにしようとしている特定のページがありますか? –

+0

@gGreg Guida - ブックマークレットを使用したいページを表示するための質問へのリンクを追加しました。 – cwd

答えて

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){ 
    } 
    } 
} 
)() 
+0

これは私が望んでいた素晴らしいコードのように見えますが、このエラーが発生します:TypeError:Object.keysは関数ではありませんか? – cwd

+0

ここに互換性セクションのコードを追加する必要があるように見えます。 https://developer.mozilla.org/ja/JavaScript/Reference/Global_Objects/Object/keys - おそらく、私はまだFF 3.6にいるからです。 – cwd

+0

私は上記のコードを含むようにあなたの答えを更新しました。 – cwd

0

jQueryですべてのブックマークレットを開始しますが、これはあなたがしようとしていることに応じて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(); } 
+0

chromeでgreasemonkeyスクリプトを実行する場合は、jQueryソースをgreasemonkeyスクリプトに直接貼り付ける必要があります。このセレクターを変更する必要があるかもしれません。 –

+0

これは実際には私がそれをテストしたので動作していないようです。それはエディタを一括して削除するように見えますが、私はそれを使って文字列部分を無効にして、テキストボックスを残しておきます。質問をリンクで更新しました。 – cwd

0

私は私のブックマークレットコレクションにTinyMCEの除去を追加しました: http://richardbronosky.github.com/Perfect-Bookmarklets/tinymce.html

それは私が見てきた他の人の上で1つの大きな利点を持っています。テキストエリアの内容をソースに戻します。私は他の人がこれを経験したかどうかは分かりませんが、CMSとTinyMCEのWeb管理者がいて、コードを削除すると変更されます。私はこれを解決しました。 githubの上でも

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 
    } 

:ここ

はコードである https://github.com/RichardBronosky/Perfect-Bookmarklets/blob/master/tinymce.html

関連する問題