Полезная информация

Общайтесь со знакомыми и друзьями в нашей группе в Контакте.

Разработка » FF doc.body.innerHTML отдает только часть кода » 26-04-2011 17:17:38

hydrolizer пишет
chikanok пишет

Xpath не подходит, я не знаю где и сколько будет элементов под замену.

Ну и что? У вас же есть критерии для поиска? Вот сколько элементов будет удовлетворять этим критериям, столько XPath (соответствующим образом составленный, разумеется) и найдет. А использовать текстовый поиск в данном случае - это примерно как вместо того, чтобы использовать getElementById() - брать тот же innerHTML в виде plain text, и в нем искать с помощью indexOf("id=\"myElementId\"").

Улыбнуло.

Заказчикам примерно тоже говорил, но нет.


Вообщем незнаю что я сделал, но оно заработало :)
Тему можно закрывать.

Разработка » FF doc.body.innerHTML отдает только часть кода » 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);
            }
        }
    },
...

Разработка » FF doc.body.innerHTML отдает только часть кода » 26-04-2011 12:53:30

hydrolizer пишет

chikanok
Используйте XPath - он работает непосредственно на DOM-структуре документа. И это оптимальнее с т.з. производительности.

Xpath не подходит, я не знаю где и сколько будет элементов под замену.
Нужен именно текстовый поиск по HTML коду.

Разработка » FF doc.body.innerHTML отдает только часть кода » 26-04-2011 06:50:41

Добрый день.

По onLoad страницы надо выполнить regexp с заменами.

Выделить код

Код:

alert(doc.body.innerHTML)

Показывает только часть страницы.

Подумал, может алертом обрезается и ...

Выделить код

Код:

alert(doc.body.innerHTML.length)

Показывает 110000(с мелочью), а вся страница 300000+ символов.

Подумал что может какой-нибудь ограничение длины и пошел на страничку поменьше (80000+), длину вернул всего 25000+.

Скажите, пожалуйста, в чем мой косяк ?
Как мне получить всю страницу?

Разработка » XMLHTTPRequest в дополнении для FF2 и FF3 » 06-04-2009 03:04:05

Здравствуйте.
Скажите как загрузить произвольную страницу/файл с любого сервера в дополнении для FF2 и FF3?
Пробовал так:

Выделить код

Код:

var r=new XMLHttpRequest();
r.open("GET","http://server.com/file.s");
r.onerror=function (ev)
{
...обработка...
}
r.onload=function (ev)
{
...обработка...
}
r.send(null);

Не получилось :(

Разработка » Проблема с RegExp в Observer на событие http-on-modify-request » 16-03-2009 18:38:30

Привет.
Вообщем пишу небольшое расширение, пока что тестирую код под CustomButtons.
В Observer на http-on-modify-request урл проверяется массивом RegExp`ов, по шаблону только с разными site

Выделить код

Код:

/^\w+:\/\/([^\.\/\?=&]+\.)*?site.([^\.]+)?(:\d+)?(\/|$)/i

Проблема в том ,что при открытие страниц, FF либо неплохо подвисает, либо полностью зависает, Говорит что скрипт не отвечает.
Думаю, что проблема в том, что событие происходит часто соответственно и проверка.
Подскажите как с этим боротся?

Разработка » RegExp » 16-03-2009 05:45:20

Всем спасибо.
В результате получилось вот это:

Выделить код

Код:

/^\w+:\/\/([^\.\/\?=&]+\.)*?site.com(:\d+)?\/?/

Подскажите как к этому ещё добавить любой домен первого уровня, и что бы не обязательно заканчивалось "/"
Что бы проходили:
http://www.site.ru
http://re.site.com
http://www.site.ru/
и т.п.
Но не пропускал:
http://www.site.CTbIPili.com
http://www.site.org.ru/
и т.п.

Разработка » Как перенаправить на "страница недоступна" » 15-03-2009 18:07:39

Привет.
Сделал наблюдателя на "http-on-modify-request", по событию проверяю урл, если подходит надо перенаправить на "страница недоступна"(страницу которая появляется когда сайт недоступен).
Как сделать перенаправление ? В событие приходит nsIHttpChannel.
И подскажите урл до "страница недоступна".

Разработка » RegExp » 15-03-2009 07:01:48

Привет.
Мне надо сделать regexp проверку(regexp.test()) которую проходили бы site.com, www.site.com , level3.site.com и с доменами более высокого уровня, но что б где в это был именно этот сайт,а не упоминание в параметрах ( например: google.com/search?q=www.site.com).
Сделал вот такой RegExp ".*//([^/\?&=]+\.)*site\.com.*" , на http://myregexp.com/ нормально работает, вставляю в код кнопки (custombuttons) и он пропускает www.resite.com.
Подскажите что не так?

Разработка » тулбар не устанавливается в FF 3 RC1 » 29-05-2008 09:31:47

Здравствуйте.
Скажите что надо поправить, чтоб тулбар нормально устанавливался и работал в FF3 RC1.
Перетаскиваю xpi на окно ФФ, нажимаю установить, вылазит окошко с текстом "Не возможно установка т.к. плагин не выполняет безопасное обновление"(писал по памяти,так что возможно не совсем так).

Разработка » Своя обработка MailTo: » 28-05-2008 14:01:55

Скажите а чтоб отлавливать клики надо обрабатывать tabbrowser.onclick?
Тоесть просто в основной xul файл добавить примерно вот такой код???:

Выделить код

Код:

<tabbrowser id="content"
				flex="1"
				autocompletepopup="PopupAutoComplete"
				disablehistory="true"
                                             onclick="обработчик"
	 />

Разработка » Своя обработка MailTo: » 27-05-2008 08:42:04

Привет.
Скажите как отлавливать и обрабатывать открытие ссылок "mailto:"?
Я хочу чтоб если стоит у меня галочка "своя обработка", то по клику на ссылку "mailto:..." вызов с параметрами передавался в мой тулбар.

Разработка » Расширения для FireFox:: Можно-ли и как » 15-04-2008 12:35:33

Привет.
У меня есть несколько вопросов:
1) Как отловить событие перехода на другую страницу?
2) Как можно подгрузить информацию с сайта для отображения в тулбаре( HTTP протокол)?
3) Можно-ли как-то заставить FF подержать страницу, не показывая пользователю, пока её не обработает плагин и как это сделать?
4) [К остальным не относиться] Где почитать про написание расширений на С++?

Разработка » Инсталятор плагина » 19-02-2008 15:12:56

Привет.
Скажите как можно сделать инсталятор для плагина (только под Windows).Ввиде exe`шника, чтоб кликнул,пару вопросов и все установилось?

Разработка » Собрать плагин. » 13-02-2008 13:21:24

Привет.
Хочу сделать плагин для FireFox,без пользовательского интерфейса.
Скрипт написал,собираю в jar потом в xpi,устанавливаю,перезагружаю,а он молчит.
Структура файлов:

Выделить код

Код:

-pname.xpi

В нем:

Выделить код

Код:

-chrome
--pname.jar
-install.rdf
-chrome.manifest

В pname.jar:

Выделить код

Код:

-pname
--content
---pname.xul
---pname.js

Содержимое файлов:

install.rdf:
[code]<?xml version="1.0"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:em="http://www.mozilla.org/2004/em-rdf#">

  <Description about="urn:mozilla:install-manifest">

    <em:id>f-l@bk.ru</em:id>
    <em:name>pname</em:name>
    <em:version>0.1</em:version>
    <em:description>pname</em:description>
    <em:creator>pname</em:creator>
   

   
    <em:homepageURL>null</em:homepageURL>
   
   
    <em:targetApplication>
      <Description>
        <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
        <em:minVersion>1.5</em:minVersion>
        <em:maxVersion>3.0.*</em:maxVersion>
      </Desc

Разработка » iframe » 12-02-2008 13:13:08

всем спасибо. это сделал.

Есть ещё вот такой вопрос:

Выделить код

Код:

window.addEventListener('DOMContentLoaded', myload, false);

Так я ловлю событие загрузки окна,а как поймать это событие для моего iframe?

Разработка » iframe » 11-02-2008 13:09:10

Если написать так

Выделить код

Код:

var fr=document.createElement('iframe');
fr.setAttribute('src','http://ya.ru');
window._content.document.body.appendChild(fr);

то во фрейм грузятся данные,но он не отображается.
Если написать так

Выделить код

Код:

var fr=document.createElement('IFRAME');
fr.setAttribute('src','http://ya.ru');
window._content.document.body.appendChild(fr);

то фрейм отображается,но данные не загружает.
Скажите как сделать чтоб загружал данные и отображался.

Разработка » iframe » 11-02-2008 11:14:21

Привет.
Хочу довавить к текущей странице код "<iframe src=mypage.ru></iframe>".
Все делается в плагине CustomButtons.

Выделить код

Код:

var fr=document.createElement('iframe');
fr.setAttribute('src','http://ya.ru');
window._content.document.body.appendChild(fr);

Такой код делает редирект всей страницы на ya.ru.
Скажите как сделать,что б внизу страницы добавился мой блок?

Добавлено Mon Feb 11 11:42:54 2008 :
Редирект происходит из-за скрипта на странице ya.ru.
Если сделать src="mypage.ru" то фрейм подружается,но не отображается,скажите как сделать чтоб его видно было?

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]