Реализация функции Jquery - PullRequest
       2

Реализация функции Jquery

0 голосов
/ 13 декабря 2011

Я пишу эту функцию для получения местоположения xpath:

JQuery (эта функция получает xpath):

function getXPath(node, path) {
        path = path || [];
        if(node.parentNode) {
          path = getXPath(node.parentNode, path);
        }

        if(node.previousSibling) {
          var count = 1;
          var sibling = node.previousSibling
          do {
            if(sibling.nodeType == 1 && sibling.nodeName == node.nodeName) {count++;}
            sibling = sibling.previousSibling;
          } while(sibling);
          if(count == 1) {count = null;}
        } else if(node.nextSibling) {
          var sibling = node.nextSibling;
          do {
            if(sibling.nodeType == 1 && sibling.nodeName == node.nodeName) {
              var count = 1;
              sibling = null;
            } else {
              var count = null;
              sibling = sibling.previousSibling;
            }
          } while(sibling);
        }

        if(node.nodeType == 1) {
          path.push(node.nodeName.toLowerCase() + (node.id ? "[@id='"+node.id+"']" : count > 0 ? "["+count+"]" : ''));
        }
        return path;
      };

, и у меня есть iframe:

<iframe id="frameID" width="100%" src="http://www.example.com"></iframe>

Но теперь у меня есть проблема, как интегрировать мою функцию jquery и куда, когда я щелкаю где-нибудь в Iframe, чтобы получить результат xpath?

Ответы [ 2 ]

3 голосов
/ 13 декабря 2011

Вы написали эту функцию? - Этот код был написан почти 5 лет назад на DZone: http://snippets.dzone.com/posts/show/4349 - Сюда входят инструкции по использованию функции.

0 голосов
/ 13 декабря 2011

Это можно сделать только в том случае, если местоположение iframe находится в том же домене, что и страница, в которую он встроен.

Если это так, получите документ из iframe (document.getElementById('frameId').contentDocument, см. MDN ) и добавьте слушатель события клика к нему.Получаемое событие будет содержать ссылку на целевой узел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...