UIWebView
を使用してiOS用ブックリーダーを開発しています。現時点では、いくつかの基本的なHTMLファイルを扱っていますが、最終的にはePubで動作します。私はテキストの範囲をスタイリングするのに適した方法を探しています。私の範囲は通常、3つの範囲(キーレンジと直前の範囲と直後の範囲)を含むという点で少し特殊です。キーレンジは、複数のノードに及ぶことがあり、例えば太字のテキストの選択などで開始または終了することができる。スタイリングはファイルに書き込まれてはならない。次のように私が働いて解決策を持っている瞬間 iOS電子ブックリーダーでHTMLを強調表示するためにexecCommandを使用する代わりの方法
document.designMode = "on";
// Color the first section
var selection = window.getSelection();
selection.removeAllRanges();
selection.addRange(range1);
if (!selection.isCollapsed){
document.execCommand("foreColor", false, color1);
}
// Color the middle section
selection.removeAllRanges();
selection.addRange(range2);
if (!selection.isCollapsed){
document.execCommand("backColor", false, color2);
document.execCommand("foreColor", false, color3);
}
// Color the last section
selection.removeAllRanges();
selection.addRange(range3);
if (!selection.isCollapsed){
document.execCommand("foreColor", false, color1);
}
document.designMode = "off";
selection.removeAllRanges();
。テキストが定型化される前に、常に目立つ遅延があります。 kindleやiBooksのようなiPadの電子ブックリーダーを見ると、目に見える遅延はありません。ハイライト機能をどのように実装するのですか?選択されたテキストの地理的位置を読んで、何らかのオーバーレイを適用している可能性がありますか?
私はすでに使用しているよりも優れたソリューションを探していますが、運がないので、誰かがアイデアを持っていれば非常に感謝しています。
ありがとうございました!
私はipadアプリのためのepubリーダーアプリを作成しています、ここで私はunzipとuiwebview私はuimenuviewcontrollerを使ってuiwebviewでメモを追加しようとしましたが、テキストを取得して、execommandまたはwindowを使ってテキストを取得しましたが、私の疑問はどうやってメモを保存して反復することができ、webviewのテキストをハイライトすることができます – dineshprasanna
トグルする方法はありますか?だから、ユーザーが実際に大胆なスタイリングを取り除く2度目に "太字"の範囲をスタイルするとき? – Apollo