section_get.js 809 B

123456789101112131415161718192021222324252627282930313233
  1. (f=function(){
  2. var selection=window.getSelection();
  3. if(selection.rangeCount===0)return;
  4. var range=selection.getRangeAt(0);
  5. var root=range.commonAncestorContainer;
  6. var start=range.startContainer;
  7. var end=range.endContainer;
  8. while (true) {
  9. if(root===null)return;
  10. tag=root.tagName;
  11. if(tag==="BODY")return;
  12. if(tag==="DIV"){
  13. type=root.className.toLowerCase();
  14. if(type==="body"||type==="section")break;
  15. }
  16. root = root.parentNode;
  17. }
  18. while(start.parentNode!==root) {
  19. if(start===null)return;
  20. start=start.parentNode;
  21. }
  22. while(end.parentNode!==root) {
  23. if(end===null)return;
  24. end=end.parentNode;
  25. }
  26. return location(root)
  27. +"|"+$(root).children().index(start)
  28. +","+$(root).children().index(end)
  29. +"|"+locator(range.startContainer)
  30. +","+range.startOffset
  31. +","+locator(range.endContainer)
  32. +","+range.endOffset;
  33. })()