GWT TinyMCE проверка орфографии

Я пытаюсь запустить приложение GWT с помощью TinyMCE и проверки орфографии. Я хочу иметь встроенную подсветку для неправильно написанных слов и кнопку для проверки орфографии. Я пробовал и iespell, и проверку орфографии, но результаты не дали. Вот шаги, которые я сделал до сих пор
1. Скачал новейший GWT с Eclipse Indigo
2. Загружен подключаемый модуль GWT TinyMCE http://code.google.com/p/tinymce-gwt/wiki/Tutorial
3. Скачал последнюю версию TinyMCE
4. Загрузил последнюю версию SpellChecker http://www.tinymce.com/wiki.php/Plugin:spellchecker
5. Заменил каталог tiny_mce_editor в каталоге jar, который я загрузил на шаге 2, на шаг 3.
6. Заменил каталог tiny_mce_editor \ plugins \ spellchecker на каталог, который я загрузил на шаге 4.
7. Сгенерирован следующий код для GWT.

package com.test.reporting.client;

import gr.open.client.TinyMCE;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.VerticalPanel;

/**
 * Entry point classes define <code>onModuleLoad()</code>.
 */
public class Reporting implements EntryPoint {
private TinyMCE tinyMCEEditor = new TinyMCE();

private final VerticalPanel verticalPanel = new VerticalPanel();
/**
 * This is the entry point method.
 */
public void onModuleLoad() {

    // Add the nameField and sendButton to the RootPanel
    // Use RootPanel.get() to get the entire body element
    RootPanel rootPanel = RootPanel.get();
    String[] plugins = tinyMCEEditor.getConfig().getPlugins().split(", ");
    String[] newPlugins = new String[plugins.length+1];
    System.arraycopy(plugins, 0, newPlugins, 0, plugins.length);
    newPlugins[plugins.length] = "spellchecker"; 

    tinyMCEEditor.getConfig().setPlugins(newPlugins);
    tinyMCEEditor.getConfig().setThemeAdvancedButtons3(new String[]{"spellchecker","iespell"});

    rootPanel.add(verticalPanel, 0, 0);
    verticalPanel.add(tinyMCEEditor);
}
}

Теперь, когда я использую это в Chrome или Firefox, встроенная проверка орфографии не работает, а значок проверки орфографии выдает очень длинную ошибку, воспроизводящуюся в конце этого вопроса. В Internet Explorer появляется значок iespell, но он не делает ничего, кроме запроса на установку iespell. Однако когда я меняю

tinyMCEEditor.getConfig().setThemeAdvancedButtons3(new String[]{"spellchecker","iespell"});

to

tinyMCEEditor.getConfig().setThemeAdvancedButtons3(new String[]{"iespell"});

И в Chrome, и в Firefox теперь работает встроенная проверка орфографии, но вся панель инструментов, связанная с TinyMCE, исчезает.

Может ли кто-нибудь помочь мне разобраться в обеих моих проблемах?

Спасибо

  • Существует параметр tinymce init, который вам нужно установить, чтобы активировать механизм проверки орфографии gecko в поле tinymces iframe. Вам нужно установить это в своем init

Изменить: я понял, как получить проверку орфографии в браузере. Вам просто нужно включить элемент gecko_spellcheck. Однако я все еще не понимаю, как заставить работать проверку орфографии TinyMCE.


person Jon    schedule 10.08.2011    source источник


Ответы (1)


Я разобрался с этой частью и внес соответствующие правки. Вы случайно не знаете, как заставить работать проверку орфографии TinyMCE?

// This option enables you toggling the internal Gecko/Firefox spellchecker logic. 
// This option is set to false by default and will then remove the spellchecker from TinyMCE. 
gecko_spellcheck: true,
person Thariama    schedule 11.08.2011
comment
все, что вам нужно для проверки орфографии, - это установить словарь firefox (надстройка) - person Jon; 15.08.2011
comment
Правильно, это будет работать для Firefox, но я также хотел бы использовать спеллер TinyMCE для других браузеров (особенно Internet Explorer). - person Thariama; 15.08.2011
comment
В этом случае вам могут потребоваться другие решения (например, iespell). Для IE посмотрите здесь: tinymce.com/wiki.php/Plugin:iespell - person Jon; 15.08.2011
comment
Длинная ошибка PHP Ответ об ошибке:? Php / ** * $ Id: rpc.php 915 2008-09-03 08:45: 28Z spocke $ * * @package MCManager.includes * @author Moxiecode * @copyright Copyright © 2004-2007 , Moxiecode Systems AB, Все права защищены. * / require_once ("./ includes / general.php"); // Установить заголовки ответа RPC ('Content-Type: text / plain'); заголовок ('Content-Encoding: UTF-8'); заголовок ("Срок действия истекает: понедельник, 26 июля 1997 г., 05:00:00 по Гринвичу"); заголовок ("Last-Modified:". gmdate ("D, d M Y H: i: s"). "GMT"); заголовок ("Cache-Control: no-store, no-cache, must-revalidate"); заголовок ("Cache-Control: post-check = 0, pre-check = 0", false); заголовок ("Pragma: no-cache"); $ raw = ""; // Пробуем параметр if (isset ($ _ POST ["json_data"])) $ raw = getRequestParam ("json_data"); // Пробуем массив глобальных переменных if (! $ Raw && isset ($ _ GLOBALS) && isset ($ _ GLOBALS ["HTTP_RAW_POST_DATA"])) $ raw = $ _GLOBALS ["HTTP_RAW_POST_DATA"]; // Пробуем глобальную переменную if (! $ Raw && isset ($ HTTP_RAW_POST_DATA)) $ raw = $ HTTP_RAW_POST_DATA; // Пробуем поток if (! $ Raw) {if (! Function_exists ('file_get_contents')) {$ fp = fopen ("php: // input", "r"); если ($ fp) {$ raw = ""; while (! feof ($ fp)) $ raw = fread ($ fp, 1024); fclose ($ fp); }} еще $ raw = "". file_get_contents ("php: // input"); } // Нет входных данных if (! $ Raw) die ('{"result": null, "id": null, "error": {"errstr": "Не удалось получить необработанные данные сообщения.", "Errfile" : "", "errline": null, "errcontext": "", "level": "FATAL"}} '); // Сквозной запрос на удаленный сервер if (isset ($ config ['general.remote_rpc_url'])) {$ url = parse_url ($ config ['general.remote_rpc_url']); // Запрос на установку $ req = "POST". $ url ["путь"]. «HTTP / 1.0 \ r \ n»; $ req. = "Соединение: закрыть \ r \ n"; $ req. = "Хост:". $ url ['хост']. "\ г \ п"; $ req. = "Content-Length:". strlen ($ raw). "\ г \ п"; $ req. = "\ r \ n". $ raw; если (! isset ($ url ['порт']) ||! $ url ['порт']) $ url ['порт'] = 80; $ errno = $ errstr = ""; $ socket = fsockopen ($ url ['хост'], intval ($ url ['порт']), $ errno, $ errstr, 30); if ($ socket) {// Отправляем заголовки запроса fputs ($ socket, $ req); // Считываем заголовки и данные ответа $ resp = ""; while (! feof ($ socket)) $ соответственно = fgets ($ socket, 4096); fclose ($ socket); // Разделить заголовок / данные ответа $ resp = explode ("\ r \ n \ r \ n", $ resp); эхо $ resp [1]; // Вывод тела} die (); } // Получение данных JSON $ json = new Moxiecode_JSON (); $ input = $ json-> decode ($ raw); // Выполнение RPC if (isset ($ config ['general.engine'])) {$ spellchecker = new $ config'general.engine '; $ result = call_user_func_array (массив ($ spellchecker, $ input ['method']), $ input ['params']); } else die ('{"result": null, "id": null, "error": {"errstr": "Вы должны выбрать механизм проверки орфографии в файле config.php. "," errfile ":" "," errline ": null," errcontext ":" "," level ":" FATAL "}} '); // Идентификаторы запроса и ответа всегда должны быть одинаковыми $ output = array ( "id" => $ input-> id, "result" => $ result, "error" => null); // Возвращаем строку в кодировке JSON echo $ json-> encode ($ output);?> - person Thariama; 16.08.2011