Jump to content

Скрипт не работает в Opera


ser-yoga
 Share

Recommended Posts

Спасибо и вам, ребята, ZoNT, homm, Dimitry Wolotko, AKS и всем другим. Вы мне бока помяли, покусали малость. На пользу. Я переписал RefdMe.txt к DCSS. Кажется получилось. Впрочем, судите сами:

Что есть DCSS?

DCSS(Dinamic Cascading Style Sheets) - это скрипт, размером около 800 байт, который легко можно подключить к вашему сайту.

DCSS - компактная и простая в использовании технология.

DCSS позволяет непосредственно в каскадных таблицах описывать реакцию тега на событие. Т.е., там, где Web-мастер привык писать "color:red;", теперь можно писать: "onclick:funcName;", адресуя это сразу многим тегам. Это значит, что: если "кликнуть" мышкой на одном из тегов, которому адресована эта запись в CSS, то DCSS вызовет funcName() в контексте этого тега.

Поясню. В контексте - значит, что в теле функции funcName локальная переменная this будет указывать на тег. При этом: this.id имеет значение ID, которое Вы прописали в теге, а - this.className имеет значение параметра class этого тега.

Зачем?

Значения this.className и this.id можно менять средствами JScript! Например так: ?this.className=?newname?;? или ?this.id =?newId?;?

Знаю. И что?

Теперь, изменив динамически (т.е. - используя JScript) значение имени класса тега или его ID, мы можем изменить и свойства(color, border и т.п.) и поведение(onclick, onmoseover и т.п.) этого тега, если они прописаны в каскадных таблицах, а заодно можно изменить свойства и поведение всех вложенных в него тегов, если, конечно, вы это прописали в CSS.

DCSS добавляет в CSS то, что в каскадных таблицах должно было быть изначально: возможность описывать не только свойства, но и методы классов объектов. Учитывая встроенную в CSS схему наследования признаков, DCSS делает DHTML полностью объектно-ориентированной технологией, которая поддерживает динамическое(!) множественное наследование свойств и методов, динамическое(!) переопределение и многое другое из того, чего так не хватало, и чего нет ни в одном другом известном мне языке. (А я за 30 лет программирования много чего повидал.)

Кроме того: любой тег теперь легко подключить к клавиатуре, и редактировать содержимое этого тега (текст, к примеру), редактировать так, словно это тег INPUT или TEXTAREA. Чтоб это случилось достаточно записать в CSS связь тега с событием клавиатуры (добавив в CSS запись, типа: "onkeydown:anyFun;"). Теперь, если предварительно ткнуть мышкой в содержимое этого тега, будет вызываться функция "anyFun(keyCode)" (в контексте этого тега) при каждом нажатии кнопки клавиатуры. При этом, содержимое тега обновляется следующим образом: "this.innerHTML = s", где s - строка текста, содержащая кусок HTML кода.

Несмотря на крошечные размеры, DCSS предоставляет качественно новый уровень программирования. Следующий за OOP. Я назвал бы его DOOP, поскольку, благодаря DCSS, в IE объекты динамически могут менять свой класс, т.е. - они меняют и свойства, и методы. Этого нет ни в одном языке программирования. А если учесть, что в JScript-е есть процедура eval(), то IE превращается в настоящий полигон для специалистов по искусственному интеллекту. (Программа сама себя может модифицировать, обучаясь, совершенствуясь и эволюционируя без вмешательства программиста.) А ещ? ? в IE есть возможность создавать 3D-сайты, т.е. ? в IE (начиная с версии 5.5) встроена 3D-математика. Возможность генерить трехмерные динамичные сцены на экране компьютера позволяет раскрыть всю мощь нового этапа в программировании.

И ещ?. Телега - тоже средство передвижения, как и космический корабль, но телега - не космический корабль.

Вс?, что можно с DCSS, можно и без не?. Но, как показывает практика, DCSS в разы уменьшает размер кода, и делает этот код читабельным. Чтоб убедиться в этом, допишите пример "калькулятор". Вы получите не только полезную работающую программу, которую сможете добавить в свой internet-магазин, но и получите практику ДООП программирования. Кроме того, вы испытаете настоящее наслаждение от современного программирования. (Поверьте мне!)

DCSS работает во всех IE, начиная с версии 5.0, т.е. - с Windows98 и выше. DCSS использует только возможности стандартной комплектации Windows (Java и дополнительные ActiveX не требуются). Другими словами, сайт, использующий DCSS, будет работать на любом стандартном Виндусовом клиенте.

DCSS, совершенствуя Microsoft Internet Explorer, открывает короткий путь в профессионалы начинающему Web-мастеру, а профессионал, вооружившись DCSS, станет волшебником в своем ремесле. (Смотрите примеры, они многому научат.)

Удачи Вам!

_______________________________________

PS. Технология DCSS была создана в 2003 году. С тех пор прошло четыре года. За это время предпринимались неоднократные попытки реализации DCSS для других браузеров. Но - увы, вс? тщетно. Грубая, капризная, недружественная программисту объектная модель браузеров Опера и Мазила словно упирается попыткам внести в них изменение. Извините!

Link to comment
Share on other sites

  • Replies 419
  • Created
  • Last Reply

Top Posters In This Topic

Уф, давно меня не было... И тему уже во флэйм перенесли...

Да. Что-то вс? затихло. Ни кто меня не кусает. (Празничивают поди. Во флейм попали. Это, кажется, круто?)

Скучно, однако!

Пойду в другой форум. (Пиарастов мочить.)

Поясню, кто такие пиарасты. (Чтоб не скучали.)

Мой старый друг (почти такой же старый, как я) программист (как и я), невероятно талантливый человек (оцените скромность мою - о своих талантах я молчу), интеллигентный человек, из семьи учителей, матом не ругается и водку не пь?т, но если его достать...

Он работает в сотовой кампании, и там, иногда, как и во всех крупных компаниях, по понедельникам, когда у началства плохое настроение (голова же болит!) вдруг чтото происходит. Начальник (большой такой, и голова у него болит) вызывает своих менеджеров по рекламе, делает им клизму, те (после клизмы) начинают (резко так, не посоветовавшись с техническим персоналом) пиар компанию. Наобещают клиентам... То чего не может быть! И вот, когда выясняется, что это реализовать невозможно, вот тогда-то и начинается самое интересное...

В один из таких дней, когда моего друга достали, он выдал : "пеарея - это болезнь пиарастов".

По прошествии нескольких лет я услышал это слово от Михаила Задарнова.

А ещ?, когда мы были такими же молодыми, как и вы, компания Кока-Кола провела акцию на лучшую рекламу их напитка. Мой друг прислал им антирекламу (оцените, вам понравится):

Кока-Колу организму

Можно только через клизму

Если Кака встала Колом

Применяйте Кока-Колу!

Оцените талант!

Link to comment
Share on other sites

Сравните два кода:

<HTML>

<STYLE>
P.classOvr{color:#FF0000;}
P.classOut{color:#00FF00;}
</STYLE>

<BODY><P class=classOut id=pID>Hello!</P></BODY>

<SCRIPT>
var p=document.body.all.pID;
p.onmouseover=funOver;
p.onmouseout=funOut;
function funOver(){this.className="classOvr"};
function funOut(){this.className="classOut"};
</SCRIPT>

</HTML>

И

<HTML style="behavior:url('../../dcss.htc')">

<STYLE>
P.classOvr{color:#FF0000;onmouseout:funOut;}
P.classOut{color:#00FF00;onmouseover:funOvr;}
</STYLE>

<BODY><P class=classOut>Hello!</P></BODY>

<SCRIPT>
function funOvr(){this.className="classOvr"};
function funOut(){this.className="classOut"};
</SCRIPT>

</HTML>

Link to comment
Share on other sites

<HTML>

<STYLE>
P.classOvr{color:#FF0000;}
P.classOut{color:#00FF00;}
</STYLE>

<BODY><P class=classOut id=pID>Hello!</P></BODY>

<SCRIPT>
var p=document.getElementById('pID');
p.onmouseover=function(){this.className="classOvr"};;
p.onmouseout=function(){this.className="classOut"};;
</SCRIPT>

</HTML>

Так правильнее...

Ну, я сравнил, по размеру сайт с dccs выйдет тяжелее на 700 байт...

Link to comment
Share on other sites

Уф, давно меня не было... И тему уже во флэйм перенесли...

Да. Что-то вс? затихло. Ни кто меня не кусает. (Празничивают поди. Во флейм попали. Это, кажется, круто?)

Скучно, однако!

Пойду в другой форум. (Пиарастов мочить.)

Поясню, кто такие пиарасты. (Чтоб не скучали.)

Мой старый друг (почти такой же старый, как я) программист (как и я), невероятно талантливый человек (оцените скромность мою - о своих талантах я молчу), интеллигентный человек, из семьи учителей, матом не ругается и водку не пь?т, но если его достать...

Он работает в сотовой кампании, и там, иногда, как и во всех крупных компаниях, по понедельникам, когда у началства плохое настроение (голова же болит!) вдруг чтото происходит. Начальник (большой такой, и голова у него болит) вызывает своих менеджеров по рекламе, делает им клизму, те (после клизмы) начинают (резко так, не посоветовавшись с техническим персоналом) пиар компанию. Наобещают клиентам... То чего не может быть! И вот, когда выясняется, что это реализовать невозможно, вот тогда-то и начинается самое интересное...

В один из таких дней, когда моего друга достали, он выдал : "пеарея - это болезнь пиарастов".

По прошествии нескольких лет я услышал это слово от Михаила Задарнова.

А ещ?, когда мы были такими же молодыми, как и вы, компания Кока-Кола провела акцию на лучшую рекламу их напитка. Мой друг прислал им антирекламу (оцените, вам понравится):

Кока-Колу организму

Можно только через клизму

Если Кака встала Колом

Применяйте Кока-Колу!

Оцените талант!

Алкс2, алекс, вы не пробовали с женой пообщаться? Или жениться, если е? у вас нет.

Link to comment
Share on other sites

Да и мой код поменьше получился :)

Да ну? :)

<HTML>

<STYLE>
#pID {color:#00FF00;}
#pID:hover {color:#FF0000;}
</STYLE>

<BODY><P id=pID>Hello!</P></BODY>

</HTML>

Фишка была в назначении элементу (не обязательно на маусовер!!!) действия...

Link to comment
Share on other sites

Прочитал 1, 2 страницу, клацнул на последнюю.

Решил не читать различный бред и кирпичи в огороды разных браузеров.

Просто приведу небольшой пример успеха. Гугл немало сил потратила на освоение новых технологий и внедрение онных в свои интерфейсы. На данный момент "гугл почта" поддерживается самыми ходовыми браузерами. Тоесть остались довольными почти все... Эта почта(интерфейс) приобрел популярность благодаря этому.

Мораль: Дело твое какой браузер ты любишь, но если хочешь успеха, то тебе просто необходимо сделать так, чтобы твой скрипт работал везде. А если ты дядька, который вместо того, чтобы потратить часа 4 в поисках правильного решения разводишь флейм не на один день, то скорей всего ты дурак.

Link to comment
Share on other sites

Алкс2, алекс, вы не пробовали с женой...

Пробовал. Даже получилось. Сыну 16 лет уже. Впрочем, homm, тебя это не касается.

Если тебе сказать нечего - молчи. (За умного сойд?шь.)

<HTML>

<STYLE>
#pID {color:#00FF00;}
#pID:hover {color:#FF0000;}
</STYLE>

<BODY><P id=pID>Hello!</P></BODY>

</HTML>

Неужели ты разници не видишь? (Мне кажется, я уже вс? объяснил!)

Каки слова я должен сказать ещ?, чтоб меня поняли?

Давай попробуем подойти с другой стороны: В этом, тво?м коде, динамические свойства тега (скриптовая функция, которая отрабатывает мышинные события) прописны где? Если твой тег только внешность свою, и внешность своих потомков меняет: много ли от него проку?

Прок будет только тогда, когда ты(homm) в CSS сможешь прописать связь мышинного события со скриптовой функцией, которая обработает это событие и сделает что-то полезное.

<HTML>

<STYLE>
P.classOvr{color:#FF0000;}
P.classOut{color:#00FF00;}
</STYLE>

<BODY><P class=classOut id=pID>Hello!</P></BODY>

<SCRIPT>
var p=document.getElementById('pID');
p.onmouseover=function(){this.className="classOvr"};;
p.onmouseout=function(){this.className="classOut"};;
</SCRIPT>

</HTML>

А если у тебя(ZoNT) 1000 тегов P, то - ты для каждого прописывать будешь связь его с обработчиком? А когда теги P (или какие-то ещ?) будут появляться динамически, ты снова вынужден будешь для них прописывать связь с мышкой. Тебе это надо?

Так - понятно ли?

Мораль: Дело твое какой браузер ты любишь, но если хочешь успеха, то тебе просто необходимо сделать так, чтобы твой скрипт работал везде. А если ты дядька, который вместо того, чтобы потратить часа 4 в поисках правильного решения разводишь флейм не на один день, то скорей всего ты дурак.

(Ща мы и Вас от снабизма вылечим...)

Если бы вы, сударь, не поленились, и посмотрели код, о котором шла речь выше, то не писали бы эти глупости.

Я всем предлагал скрипт переписать под Оперу. Маленький такой (800 байт), но весьма полезный. Его можно скачать тут:http://people.nnov.ru/master/DCSS/DCSS.1.1....2004-03-30.rar (10К, вместе с примерами его использования и описанием ReadM.txt)

Скрипт написан ещ? в 2003 году. Работает в IE5.5, т.е. - под Win98. Вот уже пять лет, как он написан. За это время многие пытали расковырять его и заставить работать под Оперу. Все зубы обломали. (А уж столько гонору по началу было. Куда что подевалось. И Вы - утр?тесь.)

Скрипт не содержит ActivX. Тут вс? честно. В архиве он зашифрован, но чтоб Вам не делать лишних телодвижений, вот исходник (файл dcss.htc):

<script language=JScript>
for(cssProp in elem=this.element)
if (cssProp.substr(0,2)=='on') elem[cssProp] = cssProp.indexOf('key')<0 ?
(cssProp.indexOf('cli')==2) ? function(elem) {
this.focus(elem);
return this.onmousedown();
} : function(elem){
while((elem=elem?elem.parentElement:event.srcElement)&&!(cssProp=elem.currentStyle['on'+event.type])||cssProp&&(elem.elem=eval(cssProp))&&elem.elem());
}
: function() {
this.attach(elem, 'on'+event.type, event.keyCode)
}

elem.focus = function(cssProp) {
elem = cssProp || event.srcElement;
while (!elem.currentStyle.onkeydown&&(elem=elem.parentElement));
}

elem.attach = function(elem, type, code) {
if(elem&&type) {
if (elem.length)
for (cssProp=0; cssProp<elem.length; cssProp++)
this.attach(elem[cssProp],type);
else if ((type=elem.currentStyle[type])&&(elem.elem=eval(type))) return elem.elem(code);
}
}
</script>

Вы, сударь, меня дураком назвали. (Родители, явно - упустили, не объяснили Вам, что значит быть вежливым.) Теперь Вам за базар ответить прид?тся. Вы ведь умны. (Дурак - я.) Докажите. Сделайте так, чтоб он работал везде. (Хвастал же - валяй, докажи, что не трепло.) Скрипт перед Вами. В архиве примеры и пояснения. В вашем распоряжение четверо суток. (Четыре часа будет маловато для Вас, чтоб убедиться, что называтся программистом Вы можете только шопотом, чтоб ни кто этого не слышал.) Если будут вопросы на тему "что делает скрипт, и - зачем он?" - смело (но вежливо) задавайте. Однако, предварительно - прочитайте Readme.txt. (Там коротко и понятно написано.)

Из того, что Вы не видите разницу между браузерами, и считаете их примерно одного уровня, я делаю вывод: Вам, юноша, ещ? долго нужно учиться программированию (и вежливости), чтоб имет право быть таким снобом, каким вы себя продемонстрировали.

Поясню. Этот скрипт (DCSS) делает много полезного. Посмотрите на этот код. (Опытному программисту он многое объяснит):

<HTML style="behavior:url('dcss.htc')">

<STYLE>
P.classOvr{color:#FF0000;onmouseout:funOut;}
P.classOut{color:#00FF00;onmouseover:funOvr;}
</STYLE>

<BODY><P class=classOut>Hello!</P></BODY>

<SCRIPT>
function funOvr(){this.className="classOvr"};
function funOut(){this.className="classOut"};
</SCRIPT>

</HTML>

Без DCSS можно обойтись. (Не вопрос!) Я привел этот скрипт как демонстрацию, чтоб доказать: сегодня (и похоже - навсегда) у IE конкурентов нет. Поэтому, отговорки (мол) и без этого скрипта обойд?мся(как это делают господа homm и ZoNT) - не принимаются.

Скрипт этот написан так, что показывает (опытному программисту) всю ублюдочность объектной модели браузера Опрера. (Мазила2 и Сафари3 имеют DOM ещ? хуже.) То, что эти браузеры "популярны", говорит только о том, что неквалифицированных программистов, вроде вас, стало очень много. ("Мамонты" вымерли после дефолта 98-го года, да и компьютеров стало много, и дураков за клавиатуро?, следовательно, тоже. Раньше компьютер стоил дорого, и к нему допускали только избранных. Дураков и самонадеянных ослов к компьютерам близко не подпускали. Но, времена меняются. Глупость за компьютером - обычное дело нынче. Увы!)

Кстать, не хотите ли кодом похвастать? А то както некрасиво получается. Приш?л, с таким апломбом, пальчики веером. (Дураком обзывается.) Наверно, умный очень. Хотелось бы в этом убедиться. (За базар ответить нужно.)

Link to comment
Share on other sites

Слабо переделать в ИЕ? Даю 4 дня...;)

http://www.croczilla.com/svg/samples/xbl1/xbl1.xml В Опере показывает чистую страницу. (Белый фон, и больше ничего.)

http://www.croczilla.com/svg/samples/polygons3/polygons3.xml

Работает.

Ответ:http://people.nnov.ru/master/demo/test/index.html(2001год.)

Вот ещ?: http://people.nnov.ru/master/demo/spider/spiderindex.html

Этого достаточно, чтоб понять, что в IE эта задача лекко решается, причем - она была решена ещ? в прошлом тысячилетии, в Win98/

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share


×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy