Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #41 (permalink)  
Старый 09.04.2009, 08:54
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от x-yuri
авторитеность jQuery сомнительна - Сторонние библиотеки - быть или не быть?
Там обсуждается не авторитетность Jquery, а его (и не только его) необходимость. Хочешь похоливарить на эту тему?
Тогда без меня.

Последний раз редактировалось Riim, 09.04.2009 в 08:59.
Ответить с цитированием
  #42 (permalink)  
Старый 09.04.2009, 09:06
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Цитата:
Там обсуждается не авторитетность Jquery, а его (и не только его) необходимость. Хочешь похоливарить на эту тему?
Тогда без меня
"jQuery - либа, которая почти 3 года определяла браузер по UA-строчке, это супер-мега-кросс-браузерно..."
"Ну, да... косяков полно до сих пор..."
http://groups.google.ru/group/comp.l...cb11852d7ca75c
p.s. не собирался я холиварить, просто сказал, что ее авторитетность сомнительна
Ответить с цитированием
  #43 (permalink)  
Старый 09.04.2009, 09:15
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

И сомнительно то, что плагины на ней работают заметно быстрей чем на PrototypeJs?
Ответить с цитированием
  #44 (permalink)  
Старый 09.04.2009, 09:27
...
Отправить личное сообщение для Zeroglif Посмотреть профиль Найти все сообщения от Zeroglif
 
Регистрация: 09.03.2008
Сообщений: 216

Сообщение от Riim
Читайте внимательней.
Я читаю предельно внимательно. Вы понимаете, что такое innerHTML?
Ответить с цитированием
  #45 (permalink)  
Старый 09.04.2009, 09:30
...
Отправить личное сообщение для Zeroglif Посмотреть профиль Найти все сообщения от Zeroglif
 
Регистрация: 09.03.2008
Сообщений: 216

Сообщение от Riim
Можно и без этого обойтись.
Есть оптимизация, а есть ошибки логики.
Ответить с цитированием
  #46 (permalink)  
Старый 09.04.2009, 09:38
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от Zeroglif
Я читаю предельно внимательно. Вы понимаете, что такое innerHTML?
innerHTML в отличии от nodeValue, innerText и createTextNode не экранирует теги и в данном случае это важно.

Сообщение от Zeroglif
Есть оптимизация, а есть ошибки логики.
Очень хочется увидеть ваш вариант без ошибок.
Ответить с цитированием
  #47 (permalink)  
Старый 09.04.2009, 09:43
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Вероятно, вы хотите видеть это:

var TextNode = {
	each: function(callback, parent) {
		for (var childNodes = (parent || document.body).childNodes, i = 0; i < childNodes.length; i++) {
			var I = childNodes[i];
			I.nodeType == 1
				? arguments.callee(callback, I)
				: I.nodeType == 3 && callback(I, i);
		}
	}
};

window.onload = function() {
	TextNode.each(function(noda) {
		var v = noda.nodeValue.replace(/(http\:\/\/www\.youtube\.com\/watch\?v\=[0-9a-z]{11})/gi, '<a href="$1">$1</a>');
		if (v != noda.nodeValue) {
			var div = document.createElement('div');
			div.innerHTML = v;
			if (div.firstChild) {
				var f = document.createDocumentFragment();
				do f.appendChild(div.firstChild);
				while (div.firstChild);
				noda.parentNode.replaceChild(f, noda);
			}
		}
	});
};
Ответить с цитированием
  #48 (permalink)  
Старый 09.04.2009, 09:51
...
Отправить личное сообщение для Zeroglif Посмотреть профиль Найти все сообщения от Zeroglif
 
Регистрация: 09.03.2008
Сообщений: 216

Свойство 'innerHTML' стандартизировано? Нет. Согласно спекам MS (как пример) это свойство "sets or retrieves the HTML between the start and end tags of the object", никаких точных деталей о представлении. Сначала вы приводите НЕИЗВЕСТНУЮ строку в контент, браузер по своим законам парсит её, форматирует и т.д., затем делаете обратное действие, которое точно также зависит от представления браузера(ом). Почему вы решили, что в этом случае можно гарантировать равенство неизвестных вам заранее строк (innerHTML==nodeValue/data)? Ради интереса попробуйте добавить в текст что-нибудь вроде &lt;p&gt...

Тем более жутко, что нет вообще никакой необходимости replace-ить все текстовые ноды без разбора (на кой ляд это делается?), создавать для каждой ноды элемент, изменять его контент через innerHTML, потом "проверять".
Ответить с цитированием
  #49 (permalink)  
Старый 09.04.2009, 10:36
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от Zeroglif
Тем более жутко, что нет вообще никакой необходимости replace-ить все текстовые ноды без разбора (на кой ляд это делается?), создавать для каждой ноды элемент, изменять его контент через innerHTML, потом "проверять".
Так я увижу ваш вариант или нет? Может и правда есть какой-то более простой способ.

Сообщение от Zeroglif
Свойство 'innerHTML' стандартизировано? Нет. Согласно спекам MS (как пример) это свойство "sets or retrieves the HTML between the start and end tags of the object", никаких точных деталей о представлении. Сначала вы приводите НЕИЗВЕСТНУЮ строку в контент, браузер по своим законам парсит её, форматирует и т.д., затем делаете обратное действие, которое точно также зависит от представления браузера(ом). Почему вы решили, что в этом случае можно гарантировать равенство неизвестных вам заранее строк (innerHTML==nodeValue/data)?
И во всю применяется во всех известных фреймворках:
prototype-1.6.0.3, uncompressed версия, стр. 411, метод String.prototype.unescapeHTML
Подобная ситуация решена тем же способом.

Думаете, разработчик PrototypeJs плохо ее протестировал?
Тогда яркий пример: стр. 1022, метод get класса Hash. Чувак до сих пор беспокоится о возможности отсутствия метода hasOwnProperty, хотя все адекватные яваскриптеры уже забыли давно об этом. Неужели вы думаете, что при этом он вдруг внезапно забыл качественно протестировать innerHTML. К тому же метод String.prototype.unescapeHTML уже не раз менялся, и каждый раз причиной указывалась кроссбраузерность.

Вы думаете, что разработчики, какого ни будь браузера, вдруг реализуют его (innerHTML) работу по-своему? Ну, если только они задумают его (браузер) утопить.

Беспокоитесь о кустарном браузере, изобретенном студентом Васей? Не забудьте еще о IE5.5, netscape, и Петя еще что-то изобретает.

Сообщение от Zeroglif
Свойство 'innerHTML' стандартизировано? Нет.
Впервые слышу. Если бы это было так, то об этом трубили бы на каждом углу.
w3c много, что перенял из стандарта ms.
Я тоже обеими руками за соблюдение стандартов, но в данном случае, даже если это так, то я сделаю исключение.

Сообщение от Zeroglif
Ради интереса попробуйте добавить в текст что-нибудь вроде &lt;p&gt...
Попробовал. Все норм.
Ответить с цитированием
  #50 (permalink)  
Старый 09.04.2009, 10:46
...
Отправить личное сообщение для Zeroglif Посмотреть профиль Найти все сообщения от Zeroglif
 
Регистрация: 09.03.2008
Сообщений: 216

Сообщение от Riim
И во всю применяется во всех известных фреймворках
Кто ж против применения. В вашем конкретном случае равенство строк не гарантировано. Неужели так сложно проверить? Чего будет на странице до и чего после:

text 
&lt;p&gt
alone


Сообщение от Riim
Впервые слышу. Если бы это было так, то об этом трубили бы на каждом углу.
http://msdn.microsoft.com/en-us/library/ms533897.aspx
https://developer.mozilla.org/En/DOM/Element.innerHTML

Сообщение от Riim
Попробовал. Все норм.
Ну, прям, норм. Ага.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск в строке другой подстроки средствами JS YAN Общие вопросы Javascript 13 23.07.2013 09:41
Поиск на странице no_name jQuery 4 07.09.2010 13:26
построение XPath выражения endryha Общие вопросы Javascript 5 11.03.2009 17:00
Для чего ограничен поиск? ZoNT Сайт Javascript.ru 4 01.10.2008 15:55
Поиск в массиве через JavaScript Noran Общие вопросы Javascript 0 10.08.2008 17:31