2015-06-11 94 views
4

我正在創建一個內部CMS以進行工作,所有頁面都必須移動設備非常重要。當您使用手機安裝CKEditor 4.4.7查看頁面時,編輯器將顯示爲正常的textarea,並且其中的HTML或文本都沒有正確格式化。CKEditor 4.4.7沒有顯示在任何移動瀏覽器

我可以使用手機的瀏覽器請求桌面版本,有時這可以工作。在不同的手機中,它似乎相當不錯。我不相信這與啓用JavaScript有什麼關係。

對不起,沒有技術細節 - 有沒有人有過這方面的經驗?

謝謝。

編輯---

找到它。

<script type="text/javascript">  
    $(document).ready(function() { 
    $('textarea#SomeIDHere').ckeditor(); 
}); 
    </script> 

嗯,有些廣泛挖掘後,我發現,你可以自動調用任何瀏覽器,它的加載:我目前通過創建一個普通的文本區域,然後將這個JavaScript它取代它給出一個ID調用編輯器到「兼容」,儘管它不一定是安全的或真實的,僅僅通過增加改變代碼爲這樣:

<script type="text/javascript"> 

CKEDITOR.env.isCompatible = true; 

    $(document).ready(function() { 
    $('textarea#SomeIDHere').ckeditor(); 
}); 
    </script> 

我編輯了這個以防萬一有誰遇到了同樣的問題。不知道如何關閉這個問題。我太新奇了。

回答

6

一般來說,CKEditor 與Android和iOS兼容的Chrome。如果它沒有出現在這些環境中,這通常是環境檢測機制被瀏覽器用戶代理字符串誤導的問題。

直到版本4.4.7(實際上,4.4.8,但該版本尚未發佈)CKEditor僅加載到白名單環境中(如env.js文件中定義)。最初的目的是阻止CKEditor出現在不受支持的環境中。但是,瀏覽器檢測機制並不完美,尤其是在瀏覽器供應商傾向於欺騙用戶代理字符串的移動設備上,導致您描述的問題。

但是,您可以通過將CKEDITOR.env.isCompatible標誌更改爲true來使CKEditor在不受支持的環境中(風險自負),這會導致CKEditor在所有環境(包括不支持的環境)中加載。但是,請注意,這有一個缺點:它不僅使CKEditor在現代移動設備中出現問題,而且還嘗試將其加載到舊版IE瀏覽器(6 & 7)中,該版本不再有效(這可能會導致某種程度的用戶沮喪)。因而,使用該解決方案時,建議還是黑名單老的IE,就像這樣:

// Enable CKEditor in all environments except IE7 and below. 
if (!CKEDITOR.env.ie || CKEDITOR.env.version > 7) 
    CKEDITOR.env.isCompatible = true; 

您可以閱讀Enabling CKEditor in Unsupported Environments文章更多地瞭解它。

一個重要注意事項:CKEditor 4.5這個機制即將發生變化,這是即將發佈的下一個主要發現。票#13316CKEDITOR.env.isCompatible從whilet列表更改爲黑名單,這將有望幫助解決像這樣的問題。

+0

我忘了檢查回來,對不起。感謝您的回覆。這肯定是我找到的解決方法的一個改進。 – TRose

相關問題