JAVASCRIPT または JAVA ソリューションが必要
私が探しているソリューションは、java または javascript を使用できます。文字列にhtmlコードがあるので、javaで使用する前に、または後でjavascriptで操作できます。
問題
とにかく、各単語をタグで囲む必要があります。例えば:
<html> ... >
Hello every one, cheers
< ... </html>
に変更する必要があります
<html> ... >
<word>Hello</word> <word>every</word> <word>one</word>, <word>cheers</word>
< ... </html>
なんで?
これは、JavaScript を使用して単語を選択/強調表示するのに役立ちます。それを行う唯一の方法は、JAVASCRIPT ヒントに追加した関数 highlightElementAtPoint を使用することのようです。特定の x、y 座標の要素を見つけて強調表示するだけです。すべての単語が要素である場合、それは実行可能であると考えました。
アイデアは、このアプローチを使用して、ねじれた強調表示方法を使用することを意味する場合でも、Android WebView で強調表示されたテキストを検出できるようにすることです。もう少し考えてみると、これに関する他の多くのアプリケーションが見つかります。
JAVASCRIPT ヒント
次のコードを使用して単語を強調表示しています。ただし、これにより、特定のタグに属するテキスト全体が強調表示されます。各単語がタグの場合、これはある程度機能します。特定の位置で単語を強調表示できる代替手段があれば、それも解決策になります。
function highlightElementAtPoint(xOrdinate, yOrdinate) {
var theElement = document.elementFromPoint(xOrdinate, yOrdinate);
selectedElement = theElement;
theElement.style.backgroundColor = "yellow";
var theName = theElement.nodeName;
var theArray = document.getElementsByTagName(theName);
var theIndex = -1;
for (i = 0; i < theArray.length; i++) {
if (theArray[i] == theElement) {
theIndex = i;
}
}
window.androidselection.selected(theElement.innerHTML);
return theName + " " + theIndex;
}