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

В мире Mozilla происходит много интересных событий. Но вам не нужно постоянно посещать новостные сайты, чтобы быть в курсе всех изменений. Зайдите на ленту новостей Mozilla Россия.

№117-11-2010 17:47:32

qwrqwr
Участник
 
Группа: Members
Зарегистрирован: 15-11-2010
Сообщений: 3
UA: Iceweasel 3.5

доступ и редактирование скриптов до их исполнения

Добрый день!
как возможно фильтровать скрипты и редактировать скрипты в расширении?

Отсутствует

 

№218-11-2010 07:50:37

`p r o x y
Участник
 
Группа: Members
Зарегистрирован: 25-10-2010
Сообщений: 5
UA: Opera 10.6

Re: доступ и редактирование скриптов до их исполнения

Присоеденяюсь.
Возможно ли отредактировать код загрудаемого с сайта JS файла?

Отсутствует

 

№318-11-2010 11:04:56

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785
UA: Firefox 3.6

Re: доступ и редактирование скриптов до их исполнения

телепаты в отпуске
Greasemonkey?

Отсутствует

 

№418-11-2010 16:46:30

`p r o x y
Участник
 
Группа: Members
Зарегистрирован: 25-10-2010
Сообщений: 5
UA: Opera 10.6

Re: доступ и редактирование скриптов до их исполнения

> телепаты в отпуске
Приношу свои извинения. Имею ввиду именно GM, как в JS это можно реализовать?
Т.е. необходим аналог в GM для FF от Оперы:

Выделить код

Код:

window.opera.addEventListener(
    'BeforeScript',
    function (e) {
      e.element.text = e.element.text.replace(/!=s*null/,'');
    },
    false
  );

А переписать мне необходимо вот такой кусок кода:

Выделить код

Код:

e.prototype.TickVertTimer = function (t, o) {
        if (!this.aborted) {
            var k = this.vertTimeLeft != 1 ? "seconds left…" : "second left…";
            a("#qlv_game_mode").find(".action_txt").html(this.vertTimeLeft + 1064 " " + k);
            this.vertTimeLeft--;
            if (this.vertTimeLeft <= 0) this.EndVertMode(t);
            else {
                var u = this;
                this.timeoutHandle = setTimeout(function () {
                    u.TickVertTimer(t, o)
                }, 1E3)
            }
        }
    };

Где переменная e это:

Выделить код

Код:

e.prototype = new l;

l тоже из конструктора строится...
Поэтому и хочу перехватить код (просто текст), и тупо его изменить.
Т.к. как переназначить функцию хз.

Отредактировано `p r o x y (18-11-2010 19:56:04)

Отсутствует

 

№518-11-2010 21:42:56

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785
UA: Firefox 3.6

Re: доступ и редактирование скриптов до их исполнения

`p r o x y пишет

А переписать мне необходимо вот такой кусок кода:

можно после загрузки окна его просто переназначить, написав ещё раз уже отредактированный вариант

Отсутствует

 

№620-11-2010 05:54:33

`p r o x y
Участник
 
Группа: Members
Зарегистрирован: 25-10-2010
Сообщений: 5
UA: Opera 10.6

Re: доступ и редактирование скриптов до их исполнения

Благодарю, разобрался.
Вышло даже проще:

Выделить код

Код:

var windowUS = (typeof unsafeWindow != 'undefined') ? unsafeWindow : window;

windowUS.e.prototype.TickVertTimer = function (t, o) {
    if (!this.aborted) {
        var k = this.vertTimeLeft != 1 ? "seconds left&hellip;" : "second left&hellip;";
        windowUS.a("#qlv_game_mode").find(".action_txt").html(this.vertTimeLeft + 1064 " " + k);
        this.vertTimeLeft--;
        if (this.vertTimeLeft <= 0) this.EndVertMode(t);
        else {
            var u = this;
            this.timeoutHandle = setTimeout(function () {
                windowUS.u.TickVertTimer(t, o)
            }
        }
    }
};

т.е. ко всем переменным уровня window, именно этот window и нужно было добавить.

Отсутствует

 

Board footer

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