Ferguss114
Если открыть chrome://browser/content/places/places.xul во вкладке, у меня работает вот такое:
var target = content.document.getElementById("placesList").body; var x = 50; var y = 150; var bo = target.boxObject; target.dispatchEvent(new MouseEvent("mousedown", { bubbles: true, cancelable: true, view: target.ownerDocument.defaultView, detail: 1, screenX: bo.screenX + x, screenY: bo.screenY + y, clientX: bo.x + x, clientY: bo.y + y, ctrlKey: false, altKey: false, shiftKey: false, metaKey: false, button: 0, relatedTarget: null }));
Добавлено 22-03-2014 17:48:28
Но обычно это все не нужно, потому как проще работать с содержимым дерева напрямую, примерно так.
Отредактировано Infocatcher (22-03-2014 17:48:28)
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Спасибо Infocatcher!
Но обычно это все не нужно, потому как проще работать с содержимым дерева напрямую, примерно так.
К сожалению, это для меня сложновато. А с кликом как-то понятнее - вот он элемент и вот я по нему кликаю
Как оказалось, и мой способ, если открыть chrome://browser/content/places/places.xul во вкладке, работает. Надо только тщательно подобрать координаты. А я пробовал свой способ на обычной странице и там получалась вышеописанная бяка.
А почему так получается - если я в библиотеке запускаю вот этот свой код
var utils = content.QueryInterface(Components.interfaces.nsIInterfaceRequestor). getInterface(Components.interfaces.nsIDOMWindowUtils); utils.sendMouseEvent("mouseup", х, у, 0, 1, 0);
из ScratchPad-a, после нескольких запусков вдруг в ScratchPad сами вставляются ссылки всех моих закладок?
Отсутствует
А кликать зачем, вот в чём вопрос?
А как иначе я могу программно переключать пункты, что на моей картинке?
У меня часто бывает ошибка
Я смотрел - это известный баг https://bugzilla.mozilla.org/show_bug.cgi?id=519592
Написано Status: RESOLVED FIXED
Но я там не смог разобраться: что мне надо сделать чтоб у себя пофиксить эту ошибку?
Отредактировано Ferguss114 (23-03-2014 20:59:35)
Отсутствует
А как иначе я могу программно переключать пункты, что на моей картинке?
Может это поможет 29-03-2013 11:41:31
Отсутствует
Может это поможет
Да, наверно это лучше решение.
И всё же, как там на багзилле разобраться? Если пишут RESOLVED FIXED значит есть какое-то решение? Где его там найти?
Отсутствует
Ferguss114
Если открыть chrome://browser/content/places/places.xul во вкладке, у меня работает вот такое:Выделить кодКод:
var target = content.document.getElementById("placesList").body; var x = 50; var y = 150; var bo = target.boxObject; target.dispatchEvent(new MouseEvent("mousedown", { bubbles: true, cancelable: true, view: target.ownerDocument.defaultView, detail: 1, screenX: bo.screenX + x, screenY: bo.screenY + y, clientX: bo.x + x, clientY: bo.y + y, ctrlKey: false, altKey: false, shiftKey: false, metaKey: false, button: 0, relatedTarget: null }));Добавлено 22-03-2014 17:48:28
Но обычно это все не нужно, потому как проще работать с содержимым дерева напрямую, примерно так.
А у меня var target = content.document.getElementById("placesList").body; даёт синтаксическую ошибку...
Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©
Отсутствует
получаем данные о позиции клика
далее так
mydiv.style.position="absolute";
mydiv.style.left="100px";
mydiv.style.top="100px";
Я делал так
document.body.onclick=function(e) { var mydiv = document.createElement('div'); mydiv.innerHTML = 'foobar'; mydiv.style.position="absolute"; mydiv.style.left="100px"; mydiv.style.top="100px"; document.body.appendChild(mydiv) }
И мой див стабильно появляется на расстоянии 100px слева и 100px сверху, как и следовало ожидать.
Если же я подставляю
Див появляется в нижнем левом углу страницы, в самом конце боди.
Отредактировано rbfyec (25-03-2014 13:41:01)
Отсутствует
mydiv.style.left="100px";
mydiv.style.left=e.clientX; // или e.pageX
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Подскажите, какой код написать в кнопке, чтобы при нажатии на нее происходил переход в полноэкранный режим (F11).
Отсутствует
надо mydiv.style.left=e.clientX+"px";
чтобы получалось не просто число а было и указание единиц измерения
Вот оказывается в чём было дело!
okkamas_knife, Infocatcher благодарю, всё получилось
Вот что вышло, может кому пригодится. Для визуализации кликов и реальных и виртуальных
content.document.body.onclick=function(e) { var img = new Image(); img.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAUCAYAAADlep81AAAAOXRFWHRTb2Z0d2FyZQBBbmltYXRlZCBQTkcgQ3JlYXRvciB2MS42LjIgKHd3dy5waHBjbGFzc2VzLm9yZyl0zchKAAAAOXRFWHRUZWNobmljYWwgaW5mb3JtYXRpb25zADUuMy4yNzsgYnVuZGxlZCAoMi4xLjAgY29tcGF0aWJsZSktgkHRAAAACGFjVEwAAAACAAAAAPONk3AAAAAaZmNUTAAAAAAAAAAkAAAAFAAAAAAAAAAAAfQD6AAAxs9NEgAAAJJJREFUSIntluEKgCAMhG/R+7+y/SmIsbk7iTToIBDn6VdtQ2tAw0LaZgN4/UCVvg9kyZj1VJKA/MZMeSowgAg00h9Uz3I5tGeB+6fO3tJcjPX01oRA0UHe7HOD8fRALlG/LNqgyo0o3oOUgJ4QW22vAbXzqcAoILWXjHoAwLLrR1QN2SFRXJ0rgWZpucb4A1U6AAhrHSVXu2WhAAAAGmZjVEwAAAABAAAAJAAAABQAAAAAAAAAAAH0A+gAAF28p8YAAAAeZmRBVAAAAAJIie3BMQEAAADCoPVPbQhfoAAAgMcAC1QAAdbG1GIAAAAASUVORK5CYII="; img.style.position="absolute"; img.style.left=e.pageX+"px"; img.style.top=e.pageY+"px"; content.document.body.appendChild(img); return false }
Отредактировано rbfyec (25-03-2014 20:51:42)
Отсутствует
Скажите, а как можно присвоить элементу на странице тултип со своим текстом?
Например, на этой создать тултип при наведении курсором на элемент с id = player-unavailable.
А если у элемента нет id, а есть только class ? Например, как на текущей странице class = postavatar
Отсутствует
Скажите, а как можно присвоить элементу на странице тултип со своим текстом?
Например, на этой создать тултип при наведении курсором на элемент с id = player-unavailable.
А если у элемента нет id, а есть только class ? Например, как на текущей странице class = postavatar
Ну по разному можно завысит от задачи. Вот пример Всплывающие подсказки с помощью CSS3 » Свобода слова вебмастерского
Отсутствует
bunda1
мне нужно добавить в код кнопки
если известен id, то вот так работает:
content.document.getElementById('player-unavailable').setAttribute("title", "нажми СКМ");
а какой код будет, если известен только class ?
что-то getElementsByClassName не срабатывает...
Отредактировано Inko7 (26-03-2014 23:31:28)
Отсутствует
Если только класс то элемент на странице надо искать вот так http://javascript.ru/tutorial/dom/search или указать вот так getElementsByClassName("textarea")[0] если он там один.
Отредактировано bunda1 (26-03-2014 23:54:42)
Отсутствует
подскажите, пожалуйста, какой код написать для кнопок навигации и обновления страницы?
они в 29 версии у меня намертво прикреплены в строке адреса, мне это не нравится, пусть продублирую, но хочу сделать их слева, где всегда они у меня были
Отсутствует
какой код написать для кнопок навигации
Я вот такое пробовал:
var item = getItem("back-button"); //var item = getItem("forward-button"); Array.forEach(item.attributes, function(attr) { var name = attr.name; if(name != "id" && name != "class" && name != "type") this.setAttributeNS(attr.namespaceURI, name, attr.value); }, this); if(this.hasAttribute("tooltip")) this.removeAttribute("tooltiptext"); var cm = this.getAttribute("context"); if(cm) { this.onmousedown = function(e) { this.setAttribute( "context", e.ctrlKey || e.shiftKey || e.altKey || e.metaKey ? "custombuttons-contextpopup" : cm ); }; } function getItem(id) { var item = document.getElementById(id); if(!item) { var toolbox = window.gNavToolbox || window.getNavToolbox() || document.getElementById("navigator-toolbox"); item = toolbox.palette && toolbox.palette.getElementsByAttribute("id", id)[0]; } return item; }
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Northtech
Если нужно открывать окно, то вот пример: https://github.com/Infocatcher/Custom_B … pen_Window
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Если у меня открыта библиотека во вкладке и выполняется команда
раскрывается дерево на нужной папке. А как сделать, чтобы раскрылась иерархия и самой этой папки, т. е. чтоб стали видны подпапки?
Отсутствует