Android M提供了一种处理所选文本的新方法(此处链接),甚至可以从应用程序外部处理.文本选择可以这样处理:

我知道可以从应用程序外部处理所选文本,因为如果我转到Web浏览器(或允许文本选择的任何其他地方),我可以看到我可以使用"API演示"应用程序来处理所选文本.
我看不到很多关于如何做的信息.
android textselection android-manifest android-6.0-marshmallow
我有简单的UIWebView和加载的HTML.我想显示指向所选文本的PopoverView.我可以获取UIMenuController的menuFrame并使用它的rect,但结果并不像我需要的那样在屏幕的角落准确.我可以计算屏幕大小并获取menuFrame rect然后我可以假设可以找到选择的位置,但我想知道所选文本的位置.一般可能吗?
因此,在使用HTML5中的滚动条和内容时,我开始注意到一种恼人的趋势.如果我的元素附近有文字被拖动(例如,视频的滚动条,滚动条,用户点击并拖动的任何内容),附近的文本将被选中,就好像我没有使用控件,只是拖动在页面上.
这非常烦人,我似乎找不到正确的字符串来搜索谷歌,以弄清楚是否有可能使某些元素"无法选择".
有人知道怎么做吗?
文本选择因填充而在任一侧突出显示太多.

http://jsfiddle.net/JamesKyle/pA7BJ/
我如何使用CSS修复此问题?我尝试了很多不同的东西,但似乎都没有.(即尝试使用保证金和其他属性).
我已多次遇到这个问题,但从来没有弄清楚.
如果有人可以告诉我如何解决这个问题并解释如何计算文本选择亮点,我将非常感激.
似乎这不是在Firefox/Opera中发生的(无法测试IE),它可能仅限于基于webkit的浏览器.
解决了:
添加
position: relative到任何填充元素(这可能是一个webkit错误).
我有一个加载.epub文件的阅读器应用程序,通常我对选择没有任何问题,最近我已经集成了固定布局.epub文件,但我遇到了一个问题:当我有一个包含一行的框时,选择工作正常,但是当框中包含几行,意思是几行<p></p>,我无法从框中选择单个单词.在选择时,整个框被选中,如屏幕截图所示.当我.epub在iBooks上尝试相同的文件时,选择在所有文本上都能正常工作.知道如何解决这个问题吗?
这是加载文件的代码UiWebView.
NSString *contents = [NSString stringWithContentsOfFile:itemPath encoding:NSUTF8StringEncoding error:nil];
if (!contents) {
contents = [NSString stringWithContentsOfFile:itemPath encoding:NSASCIIStringEncoding error:nil];
}
[readingWebView loadHTMLString:contents baseURL:baseURL];
Run Code Online (Sandbox Code Playgroud)


我正在编写Chrome扩展程序,用于捕获用户文本选择并将所选文本发送到Google搜索.
的manifest.json
{
"manifest_version": 2,
"name": "Selection Extension",
"description": "Search your selected text",
"version": "1.0",
"permissions": [
"tabs",
"http://*/*",
"https://*/*"
],
"background": {
"scripts": [
"background.js"
],
"persistent": false
},
"browser_action": {
"default_icon": "icon.png",
"default_title": "Mark it!!"
},
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["content_script.js"]
}
]
Run Code Online (Sandbox Code Playgroud)
content_script.js
chrome.extension.onMessage.addListener(function(request, sender, sendResponse) {
if (request.method == "getSelection") {
sendResponse({data: window.getSelection().toString()});
} else {
sendResponse({});
}
});
Run Code Online (Sandbox Code Playgroud)
background.js
function initBackground() {
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.sendMessage(tab.id, {method: "getSelection"}, function(response){
sendServiceRequest(response.data);
});
});
}
function …Run Code Online (Sandbox Code Playgroud) javascript google-docs textselection google-chrome-extension
在我的网络应用程序中,用户有时可以多次单击相同的按钮,跳过消息和事物,从而导致</a>选择.
那么如何使用Javascript(jQuery)来防止这种情况
当双击灰色标签中的文本(浮动:右)时,chrome(webkit)也会在行的开头选择文本(浮点数:左).有没有办法在不添加额外标记或更改标签源顺序的情况下解决这个问题?
此问题禁用文本选择突出显示的CSS规则显示了如何防止元素上的文本选择.一旦阻止了选择,那么如何允许选择特定的子元素?例如
<div class="no-select">
<p>some text that cannot be selected</p>
<p class="select">some text that can be selected</p>
<p>some text that cannot be selected</p>
</div>
table.no-select {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
td.select {
-webkit-touch-callout: all !important;
-webkit-user-select: all !important;
-khtml-user-select: all !important;
-moz-user-select: all !important;
-ms-user-select: all !important;
user-select: all !important;
}
Run Code Online (Sandbox Code Playgroud)
.no-select上面的规则有效,但我对.select规则的尝试却没有,这样做的正确方法是什么?
问题域:基于Android WebView的ePub格式阅读器 -
我们需要可以通过JavaScript方法访问的文本高亮(例如,打开它们,关闭它们,保存它们给它们发送电子邮件等)
知道的任何人,如果我错了,请纠正我:在WebView上选择文本时 -
基本上我们交给一个TextView覆盖(WebTextView),除了可视化之外没有附加到底层的html(很好地将它全部排成一行并使其无缝,顺便说一句),我们在其上执行TextSelectionActionMode并提供ClipboardManager结果......为了清楚起见,在此库存过程中,实际上并未实际选择带有WebView的实际HTML,这就是JavaScript无法访问操作结果的原因.
因此,为了使这种行为在3.1+中工作,我有一些可能的计划继续在WebView上实现我自己的选择 - 这是我想知道我是否看不到我的角落的部分:) - -
1)捕获MOTION_DOWN的长按,启动选择模式,覆盖内置的TextSelection ActionMode(以提供客户品牌 - 我发现这样做的方式是如此hackish它伤害)观看拖动,捕获MOTION_UP位置,映射这些coords到WebView上,并根据coords进行选择(同时将文本与ClipboardManager捕获的文本进行比较)
2)创建我自己的"WebTextView"(整个lotta工作大声笑),并且不那么 - hackishly创建我自己的ActionMode并完成上述所有操作.
3)使用股票选择过程生成的MotionEvents,并以某种方式覆盖由此触发的股票TextSelection ActionMode.
这些是我看到的选项,希望我对此的接近和挫败感使我对一个更简单(读内置)解决方案的看法变得模糊不清.
感谢你的宝贵时间.
javascript android textselection webview android-3.0-honeycomb
textselection ×10
css ×4
javascript ×4
android ×2
html ×2
uiwebview ×2
cgrect ×1
coordinates ×1
css-float ×1
epub ×1
google-docs ×1
ios ×1
jquery ×1
padding ×1
webview ×1