Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.08.2009, 12:25
Аватар для leprosus
Новичок на форуме
Отправить личное сообщение для leprosus Посмотреть профиль Найти все сообщения от leprosus
 
Регистрация: 10.08.2009
Сообщений: 4

И часто в Safari такое?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>Safari-Bag</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <script type="text/javascript">
            var allTags = document.getElementsByTagName("*");
            var checkingText = document.createTextNode("Checking - document.getElementsByTagName(\"*\")");
            var typeofText = document.createTextNode("typeof -> " + typeof allTags);
            var toStringText = document.createTextNode("toString() -> " + allTags.toString());
            var versionText = document.createTextNode("version -> " + navigator.userAgent);

            document.body.appendChild(checkingText);
            document.body.appendChild(document.createElement("br"));
            document.body.appendChild(document.createElement("br"));
            document.body.appendChild(typeofText);
            document.body.appendChild(document.createElement("br"));
            document.body.appendChild(toStringText);
            document.body.appendChild(document.createElement("br"));
            document.body.appendChild(versionText);
        </script>
    </body>
</html>

Результат:
http://javascript.ru/forum/attachmen...1&d=1251534317
Остальные браузеры (Opera, FF, MSIE, и даже Chrome) возвращают корректный typeof -> object

Какие ещё грубые косяки есть в этом замечательном браузере...
Поделитесь, кто что знает, чтоб в дальнейшем на грабли не прыгать.
Изображения:
Тип файла: png safari-bag.png (53.6 Кб, 17 просмотров)
Ответить с цитированием
  #2 (permalink)  
Старый 29.08.2009, 13:07
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Работе это никак не мешает. Тем более, что allTags.toString() выдает тоже разные результаты.
Ответить с цитированием
  #3 (permalink)  
Старый 29.08.2009, 19:29
Аватар для leprosus
Новичок на форуме
Отправить личное сообщение для leprosus Посмотреть профиль Найти все сообщения от leprosus
 
Регистрация: 10.08.2009
Сообщений: 4

Сообщение от Octane Посмотреть сообщение
Работе это никак не мешает.
Мне для проекта нужны перегруженные функции, которыми пользуются ещё 2 человека (русский и америкос); так вот приходится ради safari изварачиваться ужём при анализе аргументов.

Сообщение от Octane Посмотреть сообщение
Тем более, что allTags.toString() выдает тоже разные результаты.
То есть?
Все браузеры возвращали object.

----

Да и суть топика: я редко пользуюсь америкосовым браузером, а проект у меня сейчас забугорный, натыкаюсь время от времени на новые грабли.
Так вот хотелось бы, чтоб люди поделились найденными граблями, чтоб мне методом тыка по "грабельному полю не прыгать".
Ответить с цитированием
  #4 (permalink)  
Старый 29.08.2009, 20:25
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от leprosus
Сообщение от Octane
Тем более, что allTags.toString() выдает тоже разные результаты.
То есть?
Все браузеры возвращали object.
Браузеры покажут: [object HTMLCollection], [object NodeList] и [object]. А есть еще [object StaticNodeList], возвращаемый методами querySelector и querySelectorAll. Так что если вы пытаетесь идентифицировать тип объекта через typeof, значит действуете не правильно, определяйте наличие свойств:

var list = document.getElementsByTagName("*");
	alert("length" in list); // какая-то коллекция элементов, которую можно перебрать в цикле
	alert(!!list.push); // определяем, Array ли это?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сохранить данные в файл? Возможно такое на JavaScript? Forgott Общие вопросы Javascript 35 26.06.2015 19:11
Помогите сделать такое меню(( Lilith Я не знаю javascript 2 02.06.2009 02:31
Такое возможно? KOPCAP Общие вопросы Javascript 6 24.02.2009 20:44
аякс!что это такое Рудольф AJAX и COMET 4 11.02.2009 21:11
Safari и клавиша Ctrl freebit Events/DOM/Window 2 19.07.2008 23:57