не могу получить выделенные слова в uiwebview - PullRequest
1 голос
/ 10 декабря 2011

Я хочу получить выбранные слова в UIWebView.но иногда я не могу получить это. Это мой код.

Я использую JavaScript для получения выбранных слов. (GetSelectedword.js)

var selectedText = "";
function getTextSelection() {
   var text = window.getSelection();
   selectedText = text.anchorNode.textContent.substr(text.anchorOffset, text.focusOffset - text.anchorOffset);

 }

, а затем

-(void)showHeightlight
{
NSString *path = [[NSBundle mainBundle] pathForResource:@"getSelectedword" ofType:@"js"];
NSError *error = nil;
NSString *jsCode = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error];
[webView stringByEvaluatingJavaScriptFromString:jsCode];
[webView stringByEvaluatingJavaScriptFromString:@"getTextSelection()"];
NSString *result  = [webView stringByEvaluatingJavaScriptFromString:@"selectedText"];
NSLog(@"selected: %@", result);

}

Если я выбрал слова и изменил область действия, я не смог бы получить выбранные слова.

1 Ответ

1 голос
/ 12 декабря 2011

Я меняю свое ядро ​​вот так. Все в порядке.

getSelectedword.js

function getTextSelection() {
var text = window.getSelection();
return text.toString();
}

, а затем

-(void)showHeightlight
{
 NSString *path = [[NSBundle mainBundle] pathForResource:@"getSelectedword" ofType:@"js"];
 NSError *error = nil;
 NSString *jsCode = [NSString stringWithContentsOfFile:path    encoding:NSUTF8StringEncoding error:&error];
 [webView stringByEvaluatingJavaScriptFromString:jsCode];
 NSString *result  = [webView stringByEvaluatingJavaScriptFromString:@"getTextSelection()"];
 NSLog(@"selected: %@", result);
}
...