我可以使用window.getSelection()选择文本如何在HTML代码中获取所选内容的开始和结束的字符位置?所以这些信息可以保存到服务器上。使用javascript在HTML中保存突出显示的文本位置
2
A
回答
2
我觉得没有内置函数来获取选择代码的开始和结束位置。你需要编写一些JS编码来获得这些位置。我写过简单的编码。我不确定它是否有用。但是,检查出来。
<html>
<head>
<script>
function GetSelectedText()
{
var fullString = "I feel there is no built-in functions for getting start and end position of selection code. you need to write some JS coding for getting these position. I've wrote just simple coding. I'm not sure whether it will be useful or not. But, check it out.";
if (window.getSelection)
{
var range = window.getSelection();
var startPosition = fullString.search(range);
var getPosition = range.toString();
var endPosition = parseInt(getPosition.length) + parseInt(startPosition)
alert ("Start position : " + startPosition + " and End position : " + endPosition);
}
else
{
if (document.selection.createRange)
{
var range = document.selection.createRange();
var startPosition = fullString.search(range.text);
var getPosition = range.text;
var endPosition = parseInt(getPosition.length) + parseInt(startPosition);
alert ("Start position : " + startPosition + " and End position : " + endPosition);
}
}
}
</script>
</head>
<body>
<button onclick="GetSelectedText()">
Get
</button>
I feel there is no built-in functions for getting start and end position of selection code. you need to write some JS coding for getting these position. I've wrote just simple coding. I'm not sure whether it will be useful or not. But, check it out.
</body>
</html>
对于这种编码,你需要在两个地方定义你的短信。一种是在JS编码中
var fullString =“??”
,另一个是车身的消息按钮下的/
0
我认为较短的方法是使用JavaScript的string.indexOf()函数。它只是在较大的字符串中返回搜索字符串的起始索引,如果不存在则返回-1。结束索引可以通过将起始索引添加子字符串的长度来计算。
+0
重复文字怎么样?如果用户选择“the”,indexOf的第一次出现可能不是选定的单词? – Rana 2010-08-09 20:30:33
0
您无法可靠地根据文档的原始HTML源文件获取用户选择的偏移量。您只能根据节点内的节点和偏移量来获取它。我建议看看类似问题的以下答案:Calculating text selection offsets in nest elements in Javascript
相关问题
- 1. 使用JavaScript突出显示html文本
- 2. 使用javascript突出显示存储在cookie中的文本
- 3. CSS - HTML文本突出显示它不应该在的位置
- 4. HTML中的jQuery文本突出显示
- 5. VBA:在Lotus Notes中使用HTML突出显示文本
- 6. 如何使用Coregraphics在UIwebview中突出显示并保存选定的文本
- 7. 使用javascript在UIWebview中突出显示文本(持久地)
- 8. 突出显示文本 - 本机Javascript
- 9. 用jquery突出显示特定位置的文本
- 10. 在单击时突出显示文本(javascript jquery html)
- 11. 停止HTML文本被突出显示
- 12. 使用Javascript将文本文件保存在指定位置
- 13. 在文本区域保存并调出用户突出显示的选择
- 14. 突出显示文本使用C#
- 15. 使用Html.fromHtml突出显示文本
- 16. 使用Selenium突出显示文本
- 17. 使用str_ireplace()突出显示文本
- 18. 使用jquery突出显示文本
- 19. 突出显示没有使用JavaScript或jQuery的文本框
- 20. 如何使用Javascript或jQuery获取突出显示的文本?
- 21. Netbeans:在突出显示的文本上应用HTML代码
- 22. 用php突出显示HTML CSS中的文本字符串
- 23. 在RichTextBlock中突出显示文本
- 24. 突出显示所选文本并保存它
- 25. 在文本区域中突出显示简单的Javascript?
- 26. 在UIWebView中使用javascript在搜索中未突出显示文本
- 27. CSS文本突出显示
- 28. 突出显示文本
- 29. 突出显示文本,住
- 30. EditText突出显示文本
我得到0的开始和结束位置 – Rana 2010-08-09 20:30:58
对不起。我修复了一些错误并编辑了上面的代码。邓忘记遵循我的指示。 – ppshein 2010-08-10 02:12:08
这是一个好的开始。 – Rana 2010-08-22 05:38:34