13

私は現在、モバイル Safari を除くすべてのブラウザーで完全に動作する contenteditable iframe に取り組んでいます。iOS 5.1.1 を使用しています。この問題は、最新までの contentEditable をサポートするすべてのバージョンの iOS で再現可能です。

問題は次のとおりです。コンテンツをタップすると正しくフォーカスされ、カーソルとすべてを移動できますが、アクションを適用すると、次のことが起こります。フォーカスは iframe 内にあり、カーソルが表示されます。 、ただし、以前のようにキーダウンに応答しません。カーソルを動かして何かを入力しようとしても、何も起こりません。

以下は何が起こるかの例です: http://www.quirksmode.org/dom/execCommand/

コンテンツ内の任意の場所に iframe をフォーカスし、text-align right を適用するとします。コンテンツは正しく右揃えになっていますが、追加の文字を入力しようとすると、UI がロックされていることがわかりますが、カーソルのある場所に新しい文字は表示されません。別のコマンドを適用しようとしても、それでも機能します。

これを回避する方法を知っている人はいますか?

4

3 に答える 3

2

contenteditable 属性の代わりに Iframes デザイン モードを使用して、HTML 要素を編集可能にすることができます。

iframe の要素を編集可能にする JavaScript コードは次のとおりです。

var iframe = document.getElementById ('the iframe Id ') ;
var doc = iframe.contentDocument || iframe.contentWindow.document;
doc.designMode = "on";

私が読んだように、この方法ではクロスブラウザの問題は見つかりませんでした

完全な参照については、こちらを参照してください

于 2014-03-06T11:30:34.490 に答える
0

iOSのバージョンをアップグレードすることはオプションですか?iOS6.1を使用して説明したすべての条件を問題なくテストしました。

iOS5は編集可能なコンテンツをサポートするiOSSafariの最初のバージョンであったため、実装にバグが含まれている可能性があります。成熟したようです。

于 2013-03-04T22:39:48.260 に答える
0

iOS 5.1.1 は、HTML5 の非常に最小限の機能をサポートしています。iOS 7 にアップデートした後は、問題なく動作します。

于 2013-11-13T12:38:51.913 に答える