之後,我讓它有一段時間,因爲它不在我的優先列表之上。現在這是我名單上的最後一件事,並且由於更多地使用tinyMCE和它的代碼,我很快找到了一個解決方案。
我覺得我需要去root:editor_template.js。這是圖像被設置爲活動,所以我需要改變它。
我的youtube圖像(現在也是vimeo)有一個alt attribbute來告訴我它是一個youtube還是vimeo視頻。現在我需要禁用這些插件中的任何一個。
我已經把它放在行1117這個代碼(設置活動狀態爲所有的img標籤後
p = getParent('IMG');
if (c = cm.get('image'))
c.setActive(!co && !!p && n.className.indexOf('mceItem') == -1);
而且我的代碼:
if(ed.selection.getNode())
if(ed.selection.getNode().getAttribute('alt') === 'videoYoutube' || ed.selection.getNode().getAttribute('alt') === 'videoVimeo') // Get the current selection in the editor and compare
{
cm.setDisabled('image', true); // Change disable state
cm.setActive('image', false); // Change active state state
}
else
{
cm.setDisabled('image', false);
}
if(ed.selection.getNode().getAttribute('alt') === 'videoYoutube')
{
cm.setDisabled('addvimeo', true);
}
else if(ed.selection.getNode().getAttribute('alt') === 'videoVimeo')
{
cm.setDisabled('addyoutube', true);
}
else
{
cm.setDisabled('addvimeo', false);
cm.setDisabled('addyoutube', false);
}
如果你告訴我該按鈕上tinymce演示頁面(http://www.tinymce.com/tryit/full.php)我可以命名你需要的相關控制名稱來取消激活它 – Thariama
根據控件的相關控件名稱似乎是'圖像'。它只是TinyMCE默認附帶的普通標準(高級)圖像插件,當我第一次設置m時,它就起作用y插件來激活,然後根據你的代碼(cm.get(mypluginname)isActive(0))將它設置爲非激活它的工作。但不是當我用'圖像'代替代碼時。 –
剛剛使用了setDisabeld而不是setActive,並且顯示了cm.get('image')是正確的。 Mayby它與我在我的youtube插件的editor_plugin.js中稱爲這個事實有關?當我調用console.log(mc.get('image'))時,active始終爲true,並告訴我單擊圖像時會觸發代碼。 –