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

Юристы зарабатывают огромные деньги и славу, оперируя хорошим знанием законов. Правила форума — простой путь к успешному общению.

№109-07-2009 17:05:20

SunnyDay
Участник
 
Группа: Members
Зарегистрирован: 09-07-2009
Сообщений: 44
UA: Firefox 3.0

Элемент SCRIPT в странице, который ссылается на chrome://blablabla

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

Выделить код

Код:

var scre = doc.createElement("SCRIPT");
    scre.setAttribute("src", "chrome://erdel/content/CTB_Modifier.js");
    doc.body.appendChild(scre);

Всё бы ничего но такой хромовский скрипт в конечной странице не работает, потому что он ссылается на хромовский адрес chrome://erdel/content/CTB_Modifier.js. Первый раз когда я столкнулся с подобной штукой я вынес скрипт на внешний сервер, и подключал его:

Выделить код

Код:

var scre = doc.createElement("SCRIPT");
    scre.setAttribute("src", "http://blablabla");
    doc.body.appendChild(scre);

Но это только временное решение, подскажите, как заинклюдить хромовский скрипт внутри страницы, и можно ли это вообще сделать?
Есть конечно вариант

Выделить код

Код:

var scri = frdoc.createElement("SCRIPT"); //location='/map.php?action=con&con=&r='+encode64(event.x+':'+event.y);
            scri.innerHTML = "...";
            frdoc.body.appendChild(scri);

но если в код скрипта достаточно объёмный, то innerHTML получать геморно - разве что аякс запросом к chrome.

Нужно мне это для того чтобы подменить событие нажатия некоторых кнопок, на своё событие.

Отсутствует

 

№209-07-2009 17:09:33

Lynn
Кофеман
 
Группа: Members
Откуда: Россия
Зарегистрирован: 16-02-2005
Сообщений: 1721
UA: Firefox 3.0
Веб-сайт

Re: Элемент SCRIPT в странице, который ссылается на chrome://blablabla

Эээ, я правильно понимаю, что вы пишите расширение, которое добавляет на страницу ещё один скрипт?
А почему бы не воспользоваться GreaseMonkey?


Isn't it ironic... don't you think? — Alanis Morissette

Отсутствует

 

№309-07-2009 17:22:02

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 3.5

Re: Элемент SCRIPT в странице, который ссылается на chrome://blablabla

https://developer.mozilla.org/En/Chrome … accessible
Или попробовать через resource://... : https://developer.mozilla.org/En/Chrome … n#resource
Или даже сделать

Выделить код

Код:

data:application/x-javascript,какой-то код

Хотя лучше и правда в сторону Greasemonkey посмотреть – там, кажется, evalInSandbox используется.


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№409-07-2009 17:45:45

SunnyDay
Участник
 
Группа: Members
Зарегистрирован: 09-07-2009
Сообщений: 44
UA: Firefox 3.0

Re: Элемент SCRIPT в странице, который ссылается на chrome://blablabla

Infocatcher
Lynn
Я честно говоря не знаю что такое GreaseMonkey..

Infocatcher
Тоесть в манифесте для данного конкретного файла прописать что-либо?

Отсутствует

 

№509-07-2009 17:51:47

Lynn
Кофеман
 
Группа: Members
Откуда: Россия
Зарегистрирован: 16-02-2005
Сообщений: 1721
UA: Firefox 3.0
Веб-сайт

Re: Элемент SCRIPT в странице, который ссылается на chrome://blablabla

гугл вам в помощь


Isn't it ironic... don't you think? — Alanis Morissette

Отсутствует

 

№609-07-2009 17:59:09

SunnyDay
Участник
 
Группа: Members
Зарегистрирован: 09-07-2009
Сообщений: 44
UA: Firefox 3.0

Re: Элемент SCRIPT в странице, который ссылается на chrome://blablabla

Lynn я уже посмотрел, это плагин, не мой, а я программист, и пишу свой плагин, который не должен зависеть от того, установлен ли GreaseMonkey, или нет :)

Отсутствует

 

№709-07-2009 18:20:06

Lynn
Кофеман
 
Группа: Members
Откуда: Россия
Зарегистрирован: 16-02-2005
Сообщений: 1721
UA: Firefox 3.0
Веб-сайт

Re: Элемент SCRIPT в странице, который ссылается на chrome://blablabla

Ну тогда примерно так:

Выделить код

Код:

var x = function() {
// тут код скрипта, например
alert(42);
}

var scri = frdoc.createElement("SCRIPT")
scri.innerHTML = "(" + x.toSource() + ")()"
frdoc.body.appendChild(scri)

Isn't it ironic... don't you think? — Alanis Morissette

Отсутствует

 

№809-07-2009 18:24:02

SunnyDay
Участник
 
Группа: Members
Зарегистрирован: 09-07-2009
Сообщений: 44
UA: Firefox 3.0

Re: Элемент SCRIPT в странице, который ссылается на chrome://blablabla

Lynn спасибо большое! Вот метод toSource() я незнал, в принципе он то мне и нужен, спасибо )

Отсутствует

 

Board footer

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