我可以使用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