Страницы: 1
Итак, я столкнулся с такой проблеммой, мне нужно модифицировать страницу плагином таким образом:
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.
Нужно мне это для того чтобы подменить событие нажатия некоторых кнопок, на своё событие.
Отсутствует
Эээ, я правильно понимаю, что вы пишите расширение, которое добавляет на страницу ещё один скрипт?
А почему бы не воспользоваться GreaseMonkey?
Isn't it ironic... don't you think? — Alanis Morissette
Отсутствует
https://developer.mozilla.org/En/Chrome … accessible
Или попробовать через resource://... : https://developer.mozilla.org/En/Chrome … n#resource
Или даже сделать
Хотя лучше и правда в сторону Greasemonkey посмотреть – там, кажется, evalInSandbox используется.
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Infocatcher
Lynn
Я честно говоря не знаю что такое GreaseMonkey..
Infocatcher
Тоесть в манифесте для данного конкретного файла прописать что-либо?
Отсутствует
Lynn я уже посмотрел, это плагин, не мой, а я программист, и пишу свой плагин, который не должен зависеть от того, установлен ли GreaseMonkey, или нет
Отсутствует
Ну тогда примерно так:
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
Отсутствует
Страницы: 1