все знают появившуюся кажется с 15 или 16 версии "Панель разработки"(SHIFT +F2)
уже перерыл пол MDN в поисках информации о ней но так ничего не нашел(наверное так искал)
Зачем надо? да вот хочется использовать некие команды "Панели разработки" из под своего приложения, реально ли это сделать? куда копать?
а где назначать?
такой вопрос
имеется простое xul окно которое содержит в себе только один элемент- iframe
если открывать это окно через "chrome://" то все в порядке
а если открывать окно через "file:///D....." то с фреймом что-то не то а именно url загружает но при этом не содержит contentDocument, contentWindow
мало того при попытке получения доступа к contentDocument выдает:Error: Permission denied for <file://> to create wrapper for object of class UnnamedClass
тоесть получается что contentDocument, contentWindow существует, еще-бы url ведь в фрейм подгружается, а если документ присутствует то значит существуют его contentDocument, contentWindow, только вот безопасность не пускает, может кто знает как с этим бороться, может в about:config что-то поменять надо?
кстати для открытия удоленного xul в about:config создавал( given from mdn)
dom.allow_XUL_XBL_for_file = false
помогите разобраться
…добрый день!
такой вопрос есть приложение, и при активации одной его функции оно начинает работать в фоне выполняя определенные операции, и вот при первом его запуске через определенный период выскакивает диалог, дословно не помню но суть такая: что мол в таком-то файле.js (естественно это скрипт моего приложения) выполняется сценарий и предлагаются действия прервать сценарий либо продолжить, соответственно пока мы не отреагируем на этот диалог мое приложение перестает работать, так же в том диалоге есть чек бокс типа показывать впредь это сообщение или нет, соответственно если выставить этот флажок то больше мы это сообщение не увидим и все нормально.
Как можно отключить эту проверку скриптов.
ps: пока скриншотов выложить не могу, тк не могу опять спровоцировать этот диалог, у меня вообще какоето чуство что эта проверка скриптов и соответственно вызываемый диалог носит какой-то случайный характер тк специально его инициирывать не получается, а выскакивает когда ему захочется)))
…спасибо разобрался
hydrolizer спс за быстрый ответ
css это хорошо, а возможно ли это делать динамически, то-есть с помощью скрипта?
собственно очень хочется реализовать в своем дополнении табличку чтобы в ней строки подсвечивались разными цветами в зависимости от наполнения
к примеру вот тестовая табличка
<tree flex="1"> <treecols> <treecol id="sender" label="Sender" flex="1"/> <treecol id="subject" label="Subject" flex="2"/> </treecols> <treechildren> <treeitem> <treerow> <treecell label="joe@somewhere.com"/> <treecell label="Top secret plans"/> </treerow> </treeitem> <treeitem> <treerow> <treecell label="mel@whereever.com"/> <treecell label="Let's do lunch"/> </treerow> </treeitem> </treechildren> </tree>
так вот, у узла treechildren есть свойство alternatingbackground, если его сделать true и в стайле выставить цвет то этого цвета будут все содержащиеся treeitemы этого treechildren, а мне нужно подсвечивать только определенные.
Какие предложения?
Какие будут предложеия?
…execute JS
.... и чтобы по нажатию кнопки |$| ==>10000000000000000000....
а по нажатию кнопки |(.)(.)| ==>:heart::couple:
первая кнопа без проблем, со второй непонятно-надо браузер перезагружать или что?
приложения execute JS, iMacros.....
да хотелось под бы firefox реализовать
доброго времени суток!
нужно реализовать подсветку js кода в приложении
может кто-то чего-нить посоветует?
а вот маленький пример
[code]
var fake_cookie;
var listener = {
observe:function (aSubject, aTopic, aData) {
// Make sure it is our connection first.
if (aSubject == ((scc.online) ? scc.req2.channel : scc.req.channel)) {
var httpChannel = aSubject.QueryInterface(Components.interfaces.nsIHttpChannel);
if (aTopic == "http-on-modify-request") {
if (httpChannel.getRequestHeader('Cookie').indexOf('xxxxxxxxx') != -1) {
httpChannel.setRequestHeader('Cookie', fake_cookie, false);
}
;
} else if (aTopic == "http-on-examine-response") {
// ...
}
}
},
QueryInterface:function (aIID) {
if (aIID.equals(Components.interfaces.nsISupports) ||
aIID.equals(Components.interfaces.nsIObserver))
return this;
throw Components.results.NS_NOINTERFACE;
}
};
// get the observer service and register for
…допустим у меня открыто 5 вкладок и к примеу на 3 из них мне надо отключить выполнение javascript, можно ли такое проделать из под дополнения?
такой вопрос
как отправлять запросы в фоксе получать содержимое заголовков и тело ответа...
знаю есть такое дело nsIHttpChannel и xmlhttprequest
еще интерисует такой вопрос, например отправляю запрос а там редирект, и в ответе приходит уже содержимое url на который стоит редирект, а вот как отлавливать сам редирект?
кто знает что это за алерт:
Can't instantiate NestedLoop!
что может быть его причиной
пример пока привести не могу, так как кода много а, в какой строчке или функции срабатывает еще не разобрался сам, мне бы хотябы теоретически что это такое
так можно загрузить url
[code]
function downloadFile(httpLoc) {
try {
//new obj_URI object
var obj_URI = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService).newURI(httpLoc, null, null);
//new file object
var obj_TargetFile = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
//set file with path
obj_TargetFile.initWithPath("c:\\atemp\\logo_beta.png");
//if file doesn't exist, create
if (!obj_TargetFile.exists()) {
obj_TargetFile.create(0x00, 0644);
}
//new persitence object
var obj_Persist = Components.classes["@mozilla.org/embedding/browser/nsWebBrowserPersist;1"].createInstance(Components.interfaces.nsIWebBrowserPersist);
// with persist flags if desired
const nsIWBP = Components.interfaces.nsIWebBrowserPersist;
const flags = nsIWBP.PERSIST_FLAGS_REPLACE_EX
спасибо всем, как всегда все оказалось очень просто)))
доброго времени суток дело вот в чем, к большой радости пользователей и к горю разработчиков mozilla начала просто огромными шагами развивать firefox, конечно это здорово но в связи с этим у я уже не первый раз сталкиваюсь стем что нововведения очень плохо задокументированы
еще недавно я легко пользовался функцией для очистки куков для определенного хоста, типа
function dchost(host) { var cmgr = Components.classes["@mozilla.org/cookiemanager;1"].getService(); cmgr = cmgr.QueryInterface(Components.interfaces.nsICookieManager); var enumerator = cmgr.getCookiesFromHost(host); var count = 0; var showPolicyField = false; while (enumerator.hasMoreElements()) { var nextCookie = enumerator.getNext(); nextCookie = nextCookie.QueryInterface(Components.interfaces.nsICookie); cmgr.remove(nextCookie.host, nextCookie.name, nextCookie.path, false); } }
а вот в 4-5 уже работать не хочет((((((((
какие предложения?
собственно нужно загружать файлы на сервак
в mozdev нашел статью https://developer.mozilla.org/en/FileGuide/FileUpDown
там собствено уже есть готовая процедура
function upload(file, posturl, name) { var boundary = "--------XX" + Math.random(); var req = new XMLHttpRequest(); req.open("POST", posturl); req.setRequestHeader("Content-type", "multipart/form-data; boundary=" + boundary); req.setRequestHeader("Content-length", file.fileSize); req.onload = function(event) { alert(event.target.responseText); } var prefix = "--" + boundary + "\n" + "Content-Disposition: form-data; name=\"" + name + "\"; filename=\"" + file.leafName + "\"\n" + "Content-type: text/plain\n\n"; var stream = IO.newInputStream(prefix, "multi"); stream.appendStream(IO.newInputStream(file, "")); stream.appendStream(IO.newInputStream("\n--" + boundary + "\n", "")); req.send(stream); }
но она не работает, а именно сообщение
…спасибо за дельный совет и приведенный код
разбираюсь что куда..............
я уже пробовал, получается ну ОООООчень медленно(((
цикл 50 итераций около 10 сек
вызывает эксепшн, ругается на синтаксис запроса
вот что пишет:
1)если запускаю в sqlLite Manager
SQLiteManager: Likely SQL syntax error: INSERT INTO test (expires, host, isDomain, isSecure, name, path, policy, status, value) VALUES
('1902921657','.hotlog.ru','true','false','hotcli','/','0','0','dae09f0c94d2966ab3012f593f3c81'),
('1338236106','.vkontakte.ru','true','false','remixchk','/','0','0','5')
Exception Name: NS_ERROR_FAILURE
Exception Message: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [mozIStorageConnection.createStatement]
2)если с приложения
[Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [mozIStorageConnection.createStatement]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: chrome://executejs/content/executejs/executeJS.js :: <TOP_LEVEL> :: line 235" data: no]
делаю приложение которое предполагает работу с данными, в качестве хранилища естественно выбрал sqllite, но столкнулся с проблемой дело в том что мне нужно делать множественные insert & select в базу
но если с селектом дело нормально обстоит то вот с инсертом вообще никак, точнее с множественным инсертом
вот например инсерт одной записи
INSERT INTO test VALUES ('1902921657','.hotlog.ru','true','false','hotcli','/','0','0','dae09f0c94d2966ab3012f593f3c81')
работает нормально, а вот вставка нескольких строк
INSERT INTO test (expires, host, isDomain, isSecure, name, path, policy, status, value) VALUES ('1902921657','.hotlog.ru','true','false','hotcli','/','0','0','dae09f0c94d2966ab3012f593f3c81'), ('1338236106','.vkontakte.ru','true','false','remixchk','/','0','0','5')
не работает
ведь должно работать, вроди как, а не хочет
что я делаю не так?
…