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

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

2 голосов
/ 11 августа 2011

Я пытаюсь запустить и запустить приложение 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"});

на

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

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

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

Спасибо

  • Длинная ошибка 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 header ('Content-Type: text / plain'); заголовок ('Content-Encoding: UTF-8'); header («Истекает: понедельник, 26 июля 1997 года, 05:00:00 по Гринвичу»); header («Последнее изменение:». gmdate («D, d M Y H: i: s»). «GMT»); заголовок («Cache-Control: без хранилища, без кэширования, обязательно повторная проверка»); заголовок («Cache-Control: post-check = 0, pre-check = 0», false); заголовок ("Pragma: no-cache"); $ raw = ""; // Попробуйте param 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"); if ($ fp) {$ raw = ""; while (! feof ($ fp)) $ raw = fread ($ fp, 1024); fclose ($ FP); }} else $ raw = "". file_get_contents ( "PHP: // ввод"); } // Нет входных данных if (! $ Raw) die ('{"result": null, "id": null, "error": {"errstr": "Не удалось получить необработанные данные поста.", "Errfile" : "", "errline": нулевой, "errcontext": "", "уровень": "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. = "Host:". $ url ['host']. "\ Г \ п"; $ req. = "Content-Length:". strlen ($ raw). "\ Г \ п"; $ req. = "\ r \ n". $ Сырец; if (! isset ($ url ['port']) ||! $ url ['port']) $ url ['port'] = 80; $ errno = $ errstr = ""; $ socket = fsockopen ($ url ['host'], intval ($ url ['port']), $ errno, $ errstr, 30); if ($ socket) {// Отправить заголовки запроса fputs ($ socket, $ req); // Чтение заголовков ответа и данных $ resp = ""; while (! feof ($ socket)) $ resp. = fgets ($ socket, 4096); fclose ($ гнездо); // Разделить заголовок ответа / данные $ resp = explode ("\ r \ n \ r \ n", $ resp); echo $ 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 (array ($ spellchecker, $ input ['method']), $ input ['params']); еще "errline": нулевой, "errcontext": "", "уровень": "FATAL"}}); // Идентификатор запроса и ответа всегда должен быть одинаковым $ output = array ("id" => $ input-> id, "result" => $ result, "error" => null); // Возвращаем JSON-кодированную строку echo $ json-> encode ($ output); ?>

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

1 Ответ

2 голосов
/ 11 августа 2011

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

// 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,
...