Есть код
var cont = document.getElementById('id').innerHTML; var win = open('','', 'width=400, height=600'); win.document.write(cont);
Как можно сделать, чтобы в созданном окне содержимое cont отображалось в виде кода HTML?
Отсутствует
Как можно сделать, чтобы в созданном окне содержимое cont отображалось в виде кода HTML?
var p = win.document.createElement('p'); p.textContent = cont; win.document.body.appendChild(p);
леса живет в лису?
Отсутствует
Конечно желательно вариант попроще, когда не надо ничего преобразовывать. Спасибо всем, буду пробовать по всякому, что лучше подойдёт.
Может ещё кто подскажет - как симулировать mouse click в searchbar? Не на кнопке search-go-button, а именно в поле для ввода текста.
Я гуглил, но не нашёл ничего подходящего. Мне надо чтоб только подставить координаты и оно работало.
Отредактировано Ferguss114 (22-05-2013 19:40:02)
Отсутствует
Фокус это я знаю, но мне надо именно клик. По сути два клика - один выделяет всё, второй сбрасывает выделение, курсор при этом стоит в строке поиска.
Ну допустим, .focus() мне и выделит весь текст, а как потом убрать выделение и оставить курсор в поле?
Это можно запросто сделать в Autohotkey, но я хотел бы делать это мышиным жестом. Как подружить Autohotkey и FireGestures - понятия не имею...
Отредактировано Ferguss114 (22-05-2013 21:33:34)
Отсутствует
okkamas_knife пишет:
добавь перед фокусом
sb. value = '';
Если бы всё было так просто, я бы сразу это сделал!
Мне не надо удалять текст из строки поиска, надо чтобы он был готов для редактирования - выделения нет и на тексте курсор.
Отсутствует
Ferguss114
леса живет в лису?
Отсутствует
CoolCmd пишет:
sb.focus();
sb.setSelectionRange(0, 0);
Этот код выделяет всё в строке поиска и на этом останавливаетя. Выделение не сбрасывается.
Отсутствует
rbfyec
array.indexOf()
Только document.forms – не массив.
Array.indexOf(document.forms, document.getElementById("post")); // Только в Firefox Array.prototype.indexOf.call(document.forms, document.getElementById("post")); // Все современные браузеры
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Спасибо, Infocatcher
Только document.forms – не массив
Конечно имелось в виду document.forms[]
А как то же самое проделать с элементом, вложенным в форму?
Отредактировано rbfyec (28-05-2013 01:52:39)
Отсутствует
А как то же самое проделать с элементом, вложенным в форму?
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Спасибо, Infocatcher
Я хочу получить список всех потомков некоего элемента. Делаю
x=content.document.getElementById('id').getElementsByTagName("*"); for (i=0;i<x.length;i++) { list = x[i].nodeName; }
Получаю его, а как это вывести на экран в читабельном виде? Я пробовал создать окно в теле цикла, но получается - сколько повторений делает цикл, столько и окон открывается.
И ещё вопрос. Если алертом я вывожу список атрибутов, список идёт сплошным текстом, без пробелов. Можно ли как-то придать тексту в алерте более вменяемый вид?
Отсутствует
rbfyec
Во-первых, если делать присвоение без объявления переменной через var, будет создана глобальная переменная.
Во-вторых, в Greasemonkey не нужен content, потому как content === window.
Пример для этой страницы:
var list = []; var nodes = document.getElementById("post").getElementsByTagName("*"); for(var i = 0, l = nodes.length; i < l; ++i) list.push(nodes[i].nodeName); alert(list.join("\n"));
Альтернативный вариант:
var nodes = document.getElementById("post").getElementsByTagName("*"); var list = Array.map(nodes, function(node) { return node.nodeName; }); alert(list.join("\n"));
Для поддержки других браузеров надо заменить «Array.map» на «Array.prototype.map.call».
Ну, и вместо alert() можно использовать Веб-консоль и console.log().
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
А что, глобальная переменная - это плохо?
В некоторых браузерах (и, если изменится реализация Greasemonkey, то и в Firefox) можно сломать встроенные в страницу скрипты.
Поэтому обычно делают
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Есть сниппет для получения всех атрибутов элемента.
Array.prototype.slice.call(document.getElementById("myId").attributes).forEach(function(item) { console.log(item.name + ': '+ item.value); });
Я его слегка переделал для ФФ - заменил Array.prototype.slice.call на Array.slice. Хотелось бы выводить полученный список алертом, но чтоб было как в консоли красиво, парами, атрибут - значение.
И вопрос: я открываю консоль (не Firebug, а встроенную) и у меня там надпись " API ведения логов веб-консоли (console.log, console.info, console.warn, console.error) было отключено скриптом на этой странице."
Как мне его включить?
Отредактировано rbfyec (01-06-2013 13:14:30)
Отсутствует
Хотелось бы выводить полученный список алертом, но чтоб было как в консоли красиво, парами, атрибут - значение.
var attrs = Array.map(document.getElementById("myId").attributes, function(item) { return item.name + ': '+ item.value; }); alert(attrs.join("\n"));
И вопрос: я открываю консоль (не Firebug, а встроенную) и у меня там надпись " API ведения логов веб-консоли (console.log, console.info, console.warn, console.error) было отключено скриптом на этой странице."
Как мне его включить?
Если до этого открывался Firebug, то закрыть его и обновить страницу.
Если страница создает свою переменную console, то никак, наверное.
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Выделить кодКод:
var attrs = Array.map(document.getElementById("myId").attributes, function(item) { return item.name + ': '+ item.value; }); alert(attrs.join("\n"))
У меня постоянно даёт ошибку: SyntaxError: missing variable name
Отсутствует
У меня постоянно даёт ошибку: SyntaxError: missing variable name
У меня работает.
В какой строке?
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Интересно есть ли возможность перенести настройки скриптов при создании нового профиля без копирования файла prefs.js? Естественно о переносе строк по одной из этого файла нет и речи, слишком долго и не всегда всё гладко проходит.
Отсутствует