我的代碼在這裏從iFrame中返回一個JavaScript選擇對象(iFrame頁面在同一個域內,因此沒有xss問題)。JavaScript - 如何在文檔中獲取當前選擇'索引'
我需要知道的是在原始html代碼(不是dom)內選擇的索引。
UPDATE:
例如
如果你有一個HTML文檔:
<html><body>ABC</body></html>
並在UI,用戶使用他們的鼠標來選擇文字「ABC」,我希望能夠使用JavaScript來確定的在現在的位置在html源文件中選擇文本。在這種情況下,ABC的指數是13
更新2
我用這種瘋狂的堅持的原因是,我需要創建一個工具,可以重新訪問網頁和基於文本上拉用戶在較早時間識別的選定文本。用戶告訴系統文本的位置,系統從這一點開始使用正則表達式來提取文本。現在,如果dom與原始html不一樣,並且沒有辦法確定原始html中的選擇 - 要知道要生成哪個reg ex是非常困難的。我不認爲有另一種解決方法。
// Returns the raw selection object currently
// selected in the UI
function getCurrentSelection() {
var selection = null;
var iFrame = document.getElementById('uc_iFrameGetPriceData');
try {
if (window.getSelection) { // Gecko
selection = iFrame.contentWindow.getSelection();
}
else { // IE
var iframeDoc = iFrame.contentWindow.document;
if (iframeDoc.selection) {
selection = iframeDoc.selection;
}
else {
selection = iframeDoc.contentWindow.getSelection();
}
}
}
catch (err) {
alert('Error: getCurrentSelection() - ' + err.description)
}
return selection;
}
不確定你的意思 - z索引或childNode索引?即在父節點中的位置或頁面上的堆棧高度? – Ben 2010-10-27 07:46:37
假設你有一個html文檔 -
ABC,ABC的索引是13.希望有幫助,我會盡力澄清我的問題。 – gb2d 2010-10-27 07:50:41你爲什麼要這個號碼? – 2010-10-27 08:53:13