document.evaluate в chrome и firefox - PullRequest
       32

document.evaluate в chrome и firefox

2 голосов
/ 14 июня 2011

Мне нужна помощь с этим. Я новичок в использовании XPath в javascript, и это озадачило меня.

Мой скрипт извлекает содержимое веб-страницы с помощью xmlhttp, а затем помещает его в div:

            div=document.createElement('div');
            div.innerHTML=xmlhttp.responseText.replace(/<img[^>]*>/); 

Мне нужен доступ к содержанию тела этого упакованного подразделения, и я использую Xpath для этого:

bodyContent = document.evaluate("//*[@id='bodyContent']", div ,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);
bodyContent = bodyContent.snapshotItem(0);

Хотя это отлично работает в Firefox и извлекает необходимый XpathObject, он не дает желаемого результата для браузера Google Chrome. Где вместо того, чтобы возвращать раздел bodyContent элемента 'div', созданного (и переданного как contextNode), он возвращает bodyContent текущей страницы документа.

Я проверил и в chrome - правильный xmlhttp.reponseText получен.

Есть идеи по этому поводу?

Спасибо,

1 Ответ

2 голосов
/ 14 июня 2011

Дает ли document.evaluate(".//*[@id='bodyContent']", div ,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null) желаемый результат в обоих браузерах?

...