Страницы: 1
Ошибки. В консоли Firebug. Чем больше вожусь с этой ошибкой, тем больше думаю, что у меня криво установлена Лиса. Уже давно перестали сохранятся настройки панелей инструментов (пытался переустанавливать Лису - не помогло). Вот только что в консоли появилась ошибка после алерта и я вызвал меню (строка вверху окна Лисы) и в консоле FireBug появилась ошибка
this._windows[aWindow.__SSi] has no properties
[Break on this error] getClosedTabCount: function sss_getClosedTabCount(aWindow) {
P.S. Если возможно, то переименуйте топик, что бы не вводил заблуждение людей.
Второй день пытаюсь побороть ошибку. Оказывается просто заклинило меня на выводе через alert значения элемента массива. Ошибка выдается при вызове alert('Some text').
Господа, я понимаю, что чудес не бывает. Но, вот, столкнулся с проблемой при работе с массивом. Есть скрипт:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD> <TITLE>TEST</TITLE> </HEAD> <BODY> <SCRIPT type="text/javascript"> <!-- function test() { var arr = Array(2) arr[0] = 'test0'; arr[1] = 'test1'; alert(arr[0]); alert(arr[1]); } //--> </SCRIPT> <BUTTON type="button" onclick="test()">test</BUTTON> </BODY> </HTML>
Этот скрипт корректно отрабатывает в ИЕ и Опере, но в Лисе выдает ошибки:
совпадающий атрибут
[Break on this error] undefined
localstore.rdf (line 200)
NS1:LastPingDate="1144762963" />
Поотключал все расширения кроме Firedebug. Куда рыть - ума не приложу. Подскажите, пожалуйста, где туплю?
…Да, я не совсем корректно указал название темы. Но, суть вы поняли, а название не изменить.
я не собираюсь разводить флейм. Я понял вашу позицию. Несколько замечаний:
1. Если вы процитировали w3c, то как вы объясните, что следующий код работает:
<INPUT TYPE="image" id="img" onclick="javascript: alert('click');" style="display:none"> <INPUT TYPE="button" value="Эмуляция клика по кнопке, которого нет в спецификации" onclick="javascript: document.getElementById('img').click()">
2. В спецификации к языку HTML, написано, что событие onclick может быть описано в другом месте, каких либо замечаний о том, что для file клик не действует - нет. (Спасибо, что дали ссылку на объектную модель, я не подумал о ней.)
3. Назовите мне одну реальную ситуацию, при которой озвученная реализация небезопасна. (Я не буду ее обсуждать, я просто хочу получить немного знаний, основанных на чужом опыте).
Что небезопасного в том, что я вызову стандартное окно выбора файла на клиенте? (На этом действие события onclick() заканчивается). В спецификации ничего конкретного о поведении onclick() для file не описано. Указано, что данное событие может быть определено в другом месте. Подобное поведение на событие в Лисе не позволяет стилизовать элемент управления на странице и может портить дизайн.
Имеем код, который работает в броузерах, отличных от Лисы:
<INPUT TYPE="file" id="filo" style="display:none"> <INPUT TYPE="button" value="моя кнопка для обзора файлов" onclick="javascript: document.getElementById('filo').click()">
Как решить проблему, или в Лисе с данной кнопкой такой финт не пройдет?
Аналогично
:::: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
+1
Посыпаю голову пеплом. Воспользовался поиском по форуму по слову opener. Выдало ваш топик, но по названию Вашего топика решил, что это не мой случай и внутрь не полез.;))))
Снес TBE все заработало, как часы. Мда еще один "минус" в копилку Лисы :(
Код в родителе
<SCRIPT Language="javascript"> <!-- function tmWnd() { window.open('etm.php?etid=17', 'tm', 'location=0, menubar=0, toolbar=0, width=500, height=500'); } //-->
Код в ребенке
<SCRIPT LANGUAGE="JavaScript"> <!-- function f(tmid, tmname) { confirm('Вывести список ошибок для '+tmname); alert(window.opener); window.opener.document.getElementById('tmid').value = tmid; window.opener.document.getElementById('tmid').innerHTML = tmname; window.opener.document.getElementById('tmname').value = tmname; window.close(); return false; } //--> </SCRIPT>
В консоле JS имеем две ошибки:
Ошибка: совпадающий атрибут
Источник: file:///C:/Documents%20and%20Settings/4matic/Application%20Data/Mozilla/Firefox/Profiles/v1q59t2f.default/localstore.rdf
Строка 200, символ 20
Исходный код:
NS1:LastPingDate="1144762963" />-------------------^
и
Ошибка: window.opener has no pro
…
:::: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
Открываю окно с помощью конструкции
. В открытом окне выбираю нужный эелмент и его значения передаю в окно родителя конструкцией
во всех броузерах работает, в Лисе - нет. В Лисе возвращает null. Куда копать?
Господа, извините за оффтоп, но вот такая особеность Лисы - это просто ужас для работы с DOMами. В конечном итоге скрипт вырос в два раза, потому что нужно проверять nodeType и брать следующий элемент после узла с типом 3.
Спасибо всем учасникам топика.
Разработчикам Лисы - просьба избавиться от этой особености Лисы.
Моделируем ситуацию:
1. Вы не знаете номер строки, но вы знаете его буквенный идентификатор.
2. Вам нужно получить ТЕКСТ в некоторых ячейках, текст должен быть без тегов HTML.
Hint: В ИЕ вы не можете обратиться к ассоциативному хешу, а можете обратиться к числовому. Т.е. в ИЕ конструкция myTable.rows["text_id"] выдаст сообщение об ошибке. Поэтому обратиться к нужной строке можно с помощью метода getElementById, и потому жуе обращаться к хешу ячеек в полученной строке.
P.S. Не понял вообще, как работает ваш скрипт. По-моему он не работает.:P
Мне не нужен innerHTML, потому что в нем присутствуют HTML-теги - мне нужен чистый текст, что бы выдать его юзеру.
получаем в алерте элемент филдсет с иннером (?)
Филдсет - это то, что лежит внутри <TD></TD> верхней левой ячейки первой таблицы? Если да, то ДА.
А как решали проблему, что достучаться к нужной строке в ИЕ можно
, а в Лисе
. При поптыке обратиться к строке, как методу объекта - Лиса выдает сообщение об ошибке наподобие
Ошибка: совпадающий атрибут
Источник: file:///C:/Documents%20and%20Settings/4matic/Application%20Data/Mozilla/Firefox/Profiles/v1q59t2f.default/localstore.rdf
Строка 200, символ 20
Исходный код:
NS1:LastPingDate="1144762963" />-------------------^
При попытке обратиться в ИЕ с помощью кода
я получаю сообщение об ошибке, если идентификатор нечисло, если число, то все отлично отрабатывает.
Как вы решили эту проблему? Передавали номер строки?
Протормозил. Решил так. Перадл идентификатор строки. А затем уже воспользовался cells:
[code]tr = document.getElementById(idObj);
alert(tr.cells[1].innerText);//В Лисе не отработал, но отработал в ИЕ, Опера.
alert(tr.cells[1].innerHTML);//В
Да тоже, решал проблему у Лис с табуляцией и пробелом, которые создают узел ака text
Вот, что Вам может быть поможет взглянуть на ваше решение по другому - в случае, когда нужны элементы table
У таблицы есть аррэй rows - строки; и у каждой строки аррэй cells - ячейкасоответственно обращаемся myTable.rows[n].cells[n]
- ну и в циклах удобно разумеется
+1.
Lynn, спасибо.
Проверять не имя тега, а тип узла (nodeType).
Тоже вариант, но все равно - костыль.
Решил не заводить новый топик. Подымаю старый.
Проблема с nextSibling/prevouseSibling.
Бегаю по узлам с помощбю описанных выше методов. Так вот мне нужно пройтись по ячейкам строки. Из-за того, что непечатаемые символы становятся узлами, попадаю не туда, куда нужно. Пока что проблему решаю проверкой имени тега. Такое решение похоже на костыль. Есть идеи?
Мне Multzilla понравился. А что им писать - там написано, что планируют в ближайшее время сделать расширение для Лисы.:rolleyes:
stoneflash
Спасибо, но это не то, что нужно. Как с помощью этого расширения:
1. Удалять новости. Не канал, а конкретные новости? Никак.
2. Как настроить, что бы по клику не вываливалась страница самой новости, а только ее заголовок? Никак.
3. Как по клику на RSS-иконке добавить канал в список? Никак.
4. У ajaxplanet.ru аж 4 канала, предложенное вами расширение выругалось на формат канала.
Нашел нужный функционал в Multzilla, но не такого расширения для Лисы.
Создайте нормальное RSS-расширение. Попробовал Sega и Newsfox - это же горе в доме какое-то. За основу возмите RSS в Опере - По клику на иконку канал автоматически попадает в RSS и имя ему можно дать человеческое и удалять новости можно так, что при последующих обновлениях вываливаются только те, которые не были загружены, а не все подряд.
>А как эта особенность зависит от версии FF 1.0.4?
ХЕЗ, раньше такого не замечал, может насписано было немного не так.
>А о firstChild и lastChild лучше забудь
Почему?
За insertRow() почему-то не подумал сразу..;)) Спасибо, за предложенный вариант.
Но все равно, почему пробелы/табуляцию/перевод строки на границе <TBODY><TR> воспринимает, как узел, а на границе </TR></TBODY> пробельные символ не учитываются?
Разве по нормам DOMа - это правильно?
Вообще-то - вставка строки в таблицу.... А причем здесь задача? Есть неприятная особенность, котрую вы сами можете наблюдать, открыв инспектор DOM. Иерархия идет <TABLE>--->#text---><TBODY>---><TR>, а должно <TABLE>---><TBODY>---><TR>.
Обновил Лису до 1.0.4 - вылез глюк. Оказывается что у <TABLE> firstChild это не узел <TBODY>, а непонятно что.;))). Глянул в структуру ДОМа по Лисе - оказывается, что это #text.
#text - реагирует на пробел, табуляцию и перевод строки. Опера и ИЕ не обратили на это никакого внимания. Если строки таблицы генерятся динамически (РНР), то есть шанс, что вставишь что-нибудь из вышеперечисленного.
И что интересно, за узлы не посчитало перевод строки перед закрывающим тегом </TABLE>. Проблема решилась вызовом lastChild, но это, ИМХО, не есть верно....
Страницы: 1