我想在瀏覽器中檢索當前選定文本的xpath。使用JavaScript我能夠獲得選定的文本,但無法獲取xpath。在瀏覽器中檢索所選文本的xpath
我可以使用Firebug手動找到xpath,但我想以編程方式進行。可以做到嗎?
[編輯]好的,找到了一個指向這個thread解決方案的指針。修改該線程中的代碼以符合我的需求。
我想在瀏覽器中檢索當前選定文本的xpath。使用JavaScript我能夠獲得選定的文本,但無法獲取xpath。在瀏覽器中檢索所選文本的xpath
我可以使用Firebug手動找到xpath,但我想以編程方式進行。可以做到嗎?
[編輯]好的,找到了一個指向這個thread解決方案的指針。修改該線程中的代碼以符合我的需求。
如果選擇跨越幾個DOM元素,那麼路徑是什麼?
我不認爲你可以從getSelection()(或document.selected)中獲取選定的DOM元素。
您可以嘗試爲mousedown和mouseup設置文檔範圍事件處理程序。在mousedown上,您將該元素存儲在指針下,並在mouseup上檢查是否有選擇。
下一步將生成該元素的路徑。這也相當於tricky。
關閉我的頭頂 - 但通過使用XSL遍歷每個祖先,您可以構建XPath。
for each ancestor::* { newXPath = concat (local-name(.), [current_node_postion], previousGeneratedXPath)}
遞歸遍歷每個祖先並構建完整的XPath。
「如果選擇跨越多個DOM元素,該路徑將會怎樣?」 - 這是一個很好的觀點。我沒有想過。但截至目前,我可以假設用戶只會選擇節點內的文本。 – Sudar 2009-09-14 09:26:37