2012-09-24 85 views
1

我有以下問題TinyMCE的一個標籤:TinyMCE的合併不正確

我插入下面的代碼TinyMCE的實例:

<p><a href="/_pics/articles/large/WAbOlemChF.jpg" rel="gallery"><img class="img-center" src="/_pics/articles/WAbOlemChF.jpg" alt="b" /></a></p> 
<p><a href="/_pics/articles/large/cT89QKCChs.jpg" rel="gallery"><img class="img-center" src="/_pics/articles/cT89QKCChs.jpg" alt="v" /></a></p> 

這將導致如下:

如果我按照上圖所示放置光標,然後按下DELETE鍵,我會得到以下結果:

到目前爲止,一切都很好,只是當我檢查出來的代碼,它看起來像這樣:

<p><a href="/_pics/articles/large/cT89QKCChs.jpg" rel="gallery"><img class="img-center" src="/_pics/articles/WAbOlemChF.jpg" alt="b" /><img class="img-center" src="/_pics/articles/cT89QKCChs.jpg" alt="v" /></a></p> 

注意,認爲A標籤已經合併。正如你想象的那樣,由於「href」屬性不同,這引發了一個很大的問題。我會希望它將兩個A標籤放在同一段落中,但保持它們不同。

這是一個TinyMCE錯誤,還是在配置中有一些我可以調整,因此它只合並相同的A標籤?

我使用v3.5.6,jQuery版本。

+0

管理修復它在Firefox中(通過放置SPAN標籤,而不是P標籤),現在它在Chrome中被破壞。這讓我回想起IE6和Netscape Navigator的美好時光。 – pandronic

回答

0

我們有很多奇怪的刪除行爲,可能是因爲瀏覽器有錯誤。 解決方案是照顧delte進程並執行自己的操作以繞過默認行爲。爲此,我們定義了幾個不想要的事情發生的場景,並嘗試隔離這些事件以便能夠糾正它。

+0

那麼,你說這是一個無法在Tinymce的源代碼中修復的問題?不幸的是,對於這個項目來說,解決這種情況是非常必要的。有任何想法嗎? – pandronic

+0

不,你不必進入核心代碼,你可以使用自己的插件(或安裝配置參數)來執行此操作,並監聽tinKey事件onKeyDown和onKeyUp,然後檢查是否需要更正並應用它(停止如果需要傳播)。 – Thariama

+0

那麼,事實證明,在Chrome中(我在Firefox中測試)初始代碼已經看起來像第二個圖像,並且甚至不能將光標放在那裏並按下DELETE鍵。另外,如果您將光標放在第一個圖像(位於同一行)之後並按下DELETE,則不會發生任何事情。這不是理想的,但反正火狐更好。無論如何,你的建議聽起來很有趣,但它的方式超過我的頭。 – pandronic

0

如果您不希望TinyMCE混淆您的代碼,請給它一個類。這在WordPress實現中起作用,所以希望它也能爲你工作。

例..

<p class="image"><a href="/_pics/articles/large/WAbOlemChF.jpg" rel="gallery"><img class="img-center" src="/_pics/articles/WAbOlemChF.jpg" alt="b" /></a></p> 
<p class="image"><a href="/_pics/articles/large/cT89QKCChs.jpg" rel="gallery"><img class="img-center" src="/_pics/articles/cT89QKCChs.jpg" alt="v" /></a></p> 

類沒有被定義,只要給它一個空類,如果需要的話。要點是,TinyMCE不會刪除任何有類的東西,因此你的代碼應該保持不變。

+0

謝謝,但它不起作用。即使在段落和錨點上有不同的類別,它仍然會合並它們。 – pandronic

+0

這是一個恥辱。必須是WP實施的方式。對不起,我忍不住。你可以試試'CKEditor'嗎? – Brett

+0

我希望我不必訴諸於此,因爲該項目完成除了這個微小的錯誤:( – pandronic