ФОРУМЪТ НА ШУМЕН

Гражданска медия номер едно в град Шумен. В този форум шуменци могат да определят реда на актуалните теми.


Часова зона: UTC + 2 часа | Сега е 25 Яну 2025 21:17



Напиши нова тема Отговори на тема  [ 3 мнения ] 
Автор Съобщение
 Заглавие: JS: Въпрос prototype
МнениеПубликувано на: 04 Дек 2007 23:46 
Ветеран
Ветеран
Аватар

Тук е от: 24 Яну 2007 17:45
Мнения: 594
(автор на темата)
Я сега да ви питам щото аз не можах да го измисля.

Цел:

Искам да добавя в един обект един си мои метод примерно test().
Обаче обекта не е някъв си обект ами си е точно този дето се ползва за AJAX бози в IE 6 дето се зарежда с new ActiveXObject( ms....xml..http ) нам ко си :)

И така след като си заредя един XML и той ми отива в http.responseXML

Като направя една проверка alert( ActiveXObject instance of http.responseXML ); Ми дава true.

И значи ще му пиша вече новия метод

АctiveXObject.prototype.test = function(){ alert('works'); };

Принципно ми се видя малко тъпо но викам да пробвам обаче вообще не сработва.

При FF е лесно xml-a ти е от клас XMLDocument добавяш си метода и всичко ток. Ама под ИЕ не е така. След това пробвах безброй начини да го ундурмисам ама не става.

Накрая нацелих единственния начин при който не ми гърми грешки

Object.prototype.test = function(){ alert('works'); };

само дето не ми алерт-ва нищо. Под ФФ естествено работи перфект :)

И нз не че с това свършва света но си наумих да го направя по тоя начин и ся като не стана само под ИЕ и много ме дразни.

Някой да налее малко акъл ако намери решение.

Приложението му е че искам да си добавя един клас към xml-a за работа с xpath нещо от сорта на:

http.reponseXML.xpath('/root/config');

и квото друго се сетя в последствие :)


Върнете се в началото
 Профил  
 
 Заглавие:
МнениеПубликувано на: 14 Дек 2007 12:00 
Опитен
Опитен
Аватар

Тук е от: 26 Яну 2007 8:52
Мнения: 173
Местоположение: гр. Варна
С две думи е отговора - не можеш :) Мързи ме да обяснявам, но накратко - ActivXObject не е част от дом модела на ИЕ, докато ХТТПРеяуст си е част от дом модела на ФФ и затова успяваш да подкараш нещатата там. Тъй като и на мене ми стана доста интерсно, коментирах с колеги които пишат МС бла бла-та и се опитаха да ме убедят, че има начин с разни враппер длл-та ако си напишеш линкнати по незнам си къв начин и т.н. и т.н :lol:

Опитай се с рефлектион да си принтнеш http.responseXML обекта да видиш, че въобще не е наследник на Object базовия клас на ДОМ :)

Код: Избери целия код
function showObject(o)
   {
      var s = "";
      for(var i in o)
         s += i + ": " + o[i] + "\n";
      alert(s);
   }



Цитат:
Като направя една проверка alert( ActiveXObject instance of http.responseXML ); Ми дава true.


дам това си е напълно в реда на нещатата - реално това си е активь обект, но пак казвам НЕ и наследник на Обжецт в ДОМ :)

Поздрави :)

П.П. Пфу .. тука кирилица там латиница за запазените думи, но си кадърно момче ще ме разбереш :lol:


Върнете се в началото
 Профил  
 
 Заглавие:
МнениеПубликувано на: 17 Дек 2007 21:22 
Ветеран
Ветеран
Аватар

Тук е от: 24 Яну 2007 17:45
Мнения: 594
(автор на темата)
Тенкс че си писъл аз сега видях ама работата е че нищо няма да стане :) аз просто имах великата идея да го направя така ама ко да прайш ИЕ ем хубаво ема та дразни :)


Върнете се в началото
 Профил  
 
Покажи мненията от миналия:  Сортирай по  
Напиши нова тема Отговори на тема  [ 3 мнения ] 


Часова зона: UTC + 2 часа | Сега е 25 Яну 2025 21:17


Информация за текущата активност

Регистрирани потребители на линия: Bing [Bot], Google [Bot]


Не можете да пускате нови теми
Не можете да отговаряте на теми
Не можете да променяте собствените си мнения
Не можете да изтривате собствените си мнения

Търсене:
Powered by phpBB © 2000, 2002, 2005, 2007, 2011 и т.н. phpBB Group
Style based on FI Subice by phpBBservice.nl │ град Шумен │ Блог
Преведено от: SEO блог на Йоан Арнаудов │ Редактирано за Форума на ШуменОбяви Шумен
Съдържанието на мненията във форума, с изключение на цитатите от външни източници, е лицензирано под Creative Commons Attribution.
Използването на мненията за комерсиални или некомерсиални цели е разрешено само с хиперлинк към форума и изричното позоваване на източника.
Отговорност за мненията във форума носят само и единствено техните автори.