0
應用這個代碼在js文件如何在iOS中的WebView Content中獲取突出顯示的文本範圍?
var selectedText = "";
function getHighlightedString()
{
var text = document.getSelection();
startIndex = text.anchorOffset;
endIndex = text.focusOffset;
selectedText = text.anchorNode.textContent.substr(startIndex,endIndex - text.anchorOffset);
var rangeText = document.getSelection().toString();
}
function highlight() {
if (typeof window.getSelection != "undefined") {
var range = document.getSelection().getRangeAt(0);
var selectionContents = range.extractContents();
var span = document.createElement("span");
span.appendChild(selectionContents);
span.setAttribute("class","uiWebviewHighlight");
span.style.backgroundColor = "rgb(237,191,245)";
span.style.color = "orange";
range.insertNode(span);
}
}
而且我使用此代碼爲突出顯示文本。
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"first" ofType:@"js" inDirectory:@""];
NSData *fileData = [NSData dataWithContentsOfFile:filePath];
NSString *jsString = [[NSMutableString alloc] initWithData:fileData encoding:NSUTF8StringEncoding];
[webView_Detail stringByEvaluatingJavaScriptFromString:jsString];
NSString *highlightFunction = [NSString stringWithFormat:@"highlight()"];
[webView_Detail stringByEvaluatingJavaScriptFromString:highlightFunction];
highlightedString = [webView_Detail stringByEvaluatingJavaScriptFromString:@"document.documentElement.outerHTML"];
我堅持要獲取文本範圍。它必須發送到server.but但我無法獲得選定的文本範圍。 請幫幫我。
我沒有得到使用這個範圍。你會提出建議嗎? strClassName即將變爲空白 –
請檢查我的編輯 –
我錯過了添加'toString()'所以它應該是'window.getSelection()。toString()' –