>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >FF doc.body.innerHTML отдает только часть кода http://forum.mozilla-russia.org/viewtopic.php?id=49503 |
chikanok > 26-04-2011 06:50:41 |
Добрый день. По onLoad страницы надо выполнить regexp с заменами. Показывает только часть страницы. Подумал, может алертом обрезается и ... Показывает 110000(с мелочью), а вся страница 300000+ символов. Подумал что может какой-нибудь ограничение длины и пошел на страничку поменьше (80000+), длину вернул всего 25000+. Скажите, пожалуйста, в чем мой косяк ? |
hydrolizer > 26-04-2011 07:21:50 |
chikanok |
chikanok > 26-04-2011 12:53:30 |
hydrolizer пишет
Xpath не подходит, я не знаю где и сколько будет элементов под замену. |
arhberk > 26-04-2011 14:25:54 |
Может попробовать через интерфейс nsIDOMSerializer? У него есть метод SerializeToString. Выделить код Код:var s = new XMLSerializer(); var d = document; var str = s.serializeToString(d); alert(str); |
luitzen > 26-04-2011 14:51:21 |
Что-то типа бага 644196, по-видимому. |
chikanok > 26-04-2011 15:07:44 |
FireBug в тоже время показывает полный innerHTML. 26-04-2011 15:32:29 Выделить код Код:.... gBrowser.addEventListener("load", OO.OnDocumentLoad, true); .... OnDocumentLoad:function(event) { if (event.originalTarget instanceof HTMLDocument) { if (!event.originalTarget.defaultView.frameElement) { var doc = event.originalTarget.defaultView.document; doc.body.innerHTML=doc.body.innerHTML.replace(rx,form); } } }, ... |
hydrolizer > 26-04-2011 15:47:37 |
chikanok пишет
Ну и что? У вас же есть критерии для поиска? Вот сколько элементов будет удовлетворять этим критериям, столько XPath (соответствующим образом составленный, разумеется) и найдет. А использовать текстовый поиск в данном случае - это примерно как вместо того, чтобы использовать getElementById() - брать тот же innerHTML в виде plain text, и в нем искать с помощью indexOf("id=\"myElementId\""). |
chikanok > 26-04-2011 17:17:38 |
hydrolizer пишет
Улыбнуло. Заказчикам примерно тоже говорил, но нет. Вообщем незнаю что я сделал, но оно заработало |