2011-06-22 32 views
2

我正在尋找一個書籤來禁用tinymce可視化編輯器。這就是說,一些代碼可以粘貼到地址欄中來禁用編輯器(也可以添加書籤)。書籤禁用tinymce可視化編輯器?

任何人有任何想法?

我想用它上使用TinyMCE的一箇舊版本的頁面,我認爲這是這個頁面上使用相同的版本:http://www.imathas.com/editordemo/demo.html

只是重申一下,我想刪除TinyMCE的編輯器和離開textarea。

如果您希望看到我正在討論的功能,您還可以訪問此示例頁面:http://www.matracas.org/sentido/tinymce/examples/full.html,然後單擊編輯器下方的啓用/禁用按鈕。

這裏的問題是語法依賴於知道將什麼編輯器ID放入.get()函數。

 
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/en/JavaScript/Reference/Global_Objects/Object/keys - 也許這是因爲我仍然在FF 3.6。 – cwd

+0

我更新了您的答案以包含上述代碼。 – cwd

0

我用jQuery啓動我所有的bookmarklets,雖然這可能會更好地作爲一個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

現在,我測試了它,但實際上似乎不起作用。它看起來像一起刪除了編輯器,我只是希望它禁用tinymce部分並離開文本框。我已經用鏈接更新了這個問題。 – cwd

0

我添加了一個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