Обходной путь для contenteditable на iPad

У меня есть веб-приложение, которое использует TinyMce для редактирования текста. Некоторые из моих клиентов отчаянно пытаются заставить его работать на iPad (который не поддерживает contenteditable и, следовательно, TinyMce не работает)

На данный момент у меня есть только один выбор:

Запретить редактирование расширенного текста, когда я обнаружил, что браузер iPad. Это не очень хорошее решение, потому что мое приложение сильно зависит от редактирования текстаПодождите, пока iPad для поддержки контентаНапишите мое собственное приложение для iPad. Это не совсем реально, потому что это большое сложное приложение с большим количеством HTML и javascript, и мне придется переписать все этоИспользуйте другой браузер. Насколько я знаю, ни один из других браузеров не поддерживает contenteditable.

Я действительно хочу найти какое-нибудь реальное решение. Есть ли такая вещь, как текстовый редактор, который не требует contenteditable? или у кого-нибудь есть умная идея, о которой я не думал?

заранее спасибо

Энди

 dotchuZ11 окт. 2011 г., 10:49
Насколько я вижу,<textarea> работает на iPad. Это означает, что вам нужна какая-то кнопка, чтобы «включить редактирование», а затем переключиться, например,<p>Test</p> с<textarea>Test</Textarea> а потом каким-то образом сохранить это изменение ... собираюсь попробовать это сейчас. Есть комментарии по этому поводу? Является ли это возможным?
 sw.13 дек. 2010 г., 04:07
Распространяется ли ваше приложение в организации или магазине приложений? Если вы распространяете его в частном порядке, есть несколько альтернатив, использующих частные API. Пожалуйста, дайте нам знать.
 Andy15 дек. 2010 г., 14:28
да, приложение будет распространяться в частном порядке

Ответы на вопрос(3)

На данный момент на Ipad нет браузеров, которые позволят RTE. На самом деле есть только один телефон, обеспечивающий полную поддержку браузера для RTE (извините, я забыл название телефона). Поэтому я думаю, что вы почти показали все возможные решения (исключая предложение jv42).

По состоянию на июнь 2011 года, похоже, что поддержка может появиться в iOS 5

http://www.tuaw.com/2011/06/08/will-ios-5s-safari-deliver-better-support-for-web-editors/

это наблюдение (что он работает в бета-версии) было подтверждено и моим коллегой.

,

Напишите мое собственное приложение для iPad. Это не совсем реально, потому что это большое сложное приложение с большим количеством HTML и javascript, и мне придется переписать все это

Не обязательно правда. Вы можете встроить рабочую часть вашего веб-приложения в компонент UIWebView, который в основном встроен в ваше приложение Safari, и обрабатывать неработающую часть в приложении (предоставляя контент). Это наверняка потребует работы, но, возможно, намного меньше, чем переписывание всего приложения для iPad.

 jv4228 сент. 2010 г., 14:40
Да, это был метод, который я предлагал выше о делегате, который использовал (и злоупотреблял), чтобы передавать некоторую информацию взад и вперед.
 jv4227 сент. 2010 г., 10:33
Протокол UIWebViewDelegate позволяет вам подключить некоторый ObjectiveC, прежде чем WebView обработает запрос загрузки. Это может делать то, что вы хотите. С другой стороны, UIWebView поддерживает выполнение некоторого Javascript из кода ObjectiveC, что также очень полезно.
 Andy27 сент. 2010 г., 10:23
Благодаря СП это звучит как действительно интересный вариант. Мне нужен какой-то способ, чтобы веб-страница, работающая в UIWebView, каким-то образом вызывала хост-приложение (чтобы я мог запустить собственный компонент редактирования расширенного текста). Знаете ли вы, есть ли способ сделать это?
 Andy28 сент. 2010 г., 14:31
К вашему сведению, кто-то указал мне на эту ссылку:codingventures.com/2008/12/using-uiwebview-to-render-svg-files   в разделе «Связь Javascript с кодом Objective C» показан обходной путь для вызова некоторого кода Objective C из JS. К сожалению, похоже, что этот проект откладывается, поэтому я пока не буду играть с приложениями для iPad, но я подумал, что ссылка может быть полезна для всех, кто интересуется той же областью.

Ваш ответ на вопрос