Jump to content

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


ser-yoga
 Share

Recommended Posts

  • Replies 419
  • Created
  • Last Reply

Top Posters In This Topic

У нас никаких проблем нет. У кого проблемы? У меня вс? работает во всех браузерах...

Телега и лошать тоже средство передвижения.(?)

DCSS(см. тут: http://people.nnov.ru/master/DCSS/DCSS.1.1...2004-03-30.rar) ? полезная программа, но можно обойтись и без не?. (ZoNT убедительно это доказал.)

Ну наконец-то вы это признали...

(Я наверно не по русски говорю?) Не в DCSS дело, а в проблеме, которая не позволяет ей в Опере работать. У меня эта проблема повсюду.

Вы я смотрю вс? ещ? ищете, кто бы вам помог...

Не ищу. Докажи, что DCSS в Опере можно заставить работать. Этого будет длстаточно, чтоб я утерся. А пока я по прежнему считаю Оперу Жоперой, пародией на браузер, не браузер - кастрат браузера. И тот кто е? ставит на виндусовый компьютер - чайник и дурак, поскольку не понимает, что дрянную програму установил.

Link to comment
Share on other sites

А пока я по прежнему считаю Оперу Жоперой, пародией на браузер, не браузер - кастрат браузера. И тот кто е? ставит на виндусовый компьютер - чайник и дурак, поскольку не понимает, что дрянную програму установил.

Да уж? см #26.

Link to comment
Share on other sites

Как в Опере загрузить текстовый файл в стоку? Кто знает? Покажи.

Об этом я тоже написал в посте выше, видимо ты его совсем не прочел :)

(Проч?л.) Хорошо. Как в Опере в БД залесть, так чтобы ответ в строку попал, а страница неперезагрузилась. (Так, понятнее?)

Link to comment
Share on other sites

Хорошо. Как в Опере в БД залесть, так чтобы ответ в строку попал, а страница неперезагрузилась.

И ?как? и ?никак? одновременно. Это из разряда не верно заданных вопросов.

В мире есть миллионы сайтов которые работают во всех (ну в большинстве) браузерах и десятки тысяч вебмастеров, которые пишут эти сайты и никогда не задумываются над вопросом ?как достать из БД строку?. И все они любят альтернативные браузеры (не понимаю почему объектом нападок выступает только Опера). JS ? язык созданный для взаимодействия с HTML, отвечающий за поведение страницы, за ее взаимодействие с пользователем. Т.е. имея доступ к DOM-модели, JS имеет полный доступ к странице и способен описать ее логику поведения. Для задач, ставящимися перед JS база данных не пригождается, ведь по сути одна конкретная страница это маленький кусочек информации нацеленный на одного конечного пользователя при каком-то определенном состоянии системы, и с ней пользователь может делать все что угодно, флаг ему в руки.

Вся же система в целом и отношения между е? состояниями называют бизнес логикой. К ней можно отнести такие вещи. как проверку данных на валидность, связи и последовательность различных состояний. Для реализации бизнес логики база данных уже становится необходимым звеном. Реализация бизнес логики должна быть четкой, ее нельзя вешать на клиента, и если для каких-то вещей мы можем позволить чтобы были косяки (но все равно не желательно), то в большинство вещей просто необходимо ограничить влияние извне, (например проверка на верность логина и пароля пользователя). Именно по этой причине вся бизнес логика всегда ложится на плечи серверных языков, котрые для этого и созданы. Да, можно при вводе мыла сделать проверку на правильность самого адреса (знак @, домен 2-х и более уровневый), но давать JS самому проверять пользователя в базе данных ? это безрассудство.

Впрочем даже если учесть что сама база данных в JS обычно не пригождается, по видимому остается вопрос откуда вообще получать данные удобным способом? А в большинстве случаев никак! Дело в том, что в большинстве случаев сами данные то и не нужны, да зачастую формирование страницы для пользователя уже включает бизнес-логику, которую мы договорились держать на сервере. Данные ? это только исходный материал для получения конечного представления в виде HTML. Ключ заключается в получении с сервера уже конечного документа оформленного по всей строгости бизнес логики на сервере.

Теперь попробую объяснить все сказанное на примере корзины покупателя на сайте aptekaforte.ru/Netshop/catalogue/?group=223

Это первый реальный опыт создания более менее юзер-френдли магазина. В т.з. была речь о наценке за доставку при сумме покупки менее 1000р. Я помню что подумал, omg, мне придется каким-то образом передавать всю имеющуюся информацию о скидках в JS чтобы строить корзину и верно выставлять ее стоимость (надо сказать что в CMS Netcat ? очень грамотная и чрезвычайно гибкая система скидок как на товар так и на всю корзину). Также я подумал что мне придется при нажатии на кнопку ?добавить в корзину? выдирать стоимость, название товара из DOM или как вариант заранее стоить JS массивы с этой информацией на сервере. В голове не укладывалось, что мне придется отлаживать скрипты, хранящие и обрабатывающие информацию о товарах в корзине.

Слава богу в какой-то момент работы пришло понимание тех вещей, что я только что описал выше, про разделение логики бизнес процессов и логики отображения документа. В тот момент я конечно не мог еще сформулировать все то, что сейчас написал, но кое-какое понимание появилось. Я написал функцию на php которая отдавала готовый HTML код корзины с учетом всех товаров помещенных в нее и разветвленной системы скидок (фактически не написал а подправил уже имеющуюся). Эту функция я вставил в 2-х местах. В макете при выводе страниц каталога и в файле, обрабатывающем ajax- запросы в качестве возвращающего результата. Задача упростилась в 10 раз! По нажатию на ссылки отправлялись данные об изменении состояния (добавление товара, изменение количества товара, удаление товара) и возвращался уже готовый HTML кусок текста. Скрипты стали заниматься только тем, для чего они задумывались, работой с документом. Вся бизнес-логика осталась на сервере. Это позволило добиться нормальной работы всей логики с отключенными скриптами вовсе. И так работают большинство сайтов, на главной страницы которых не стоит клеймо ?IE-only?.

Дописывая вторую страницу формата A4 :) хотел бы немного внимания уделить тому, почему вс? же IE предоставляет некоторые возможности по организации бизнес логики на стороне клиента. Дело в том, что ИЕ это не только браузер, но и неотъемлемый компонент системы, встроенный буквально в каждое окно. Наверное в системе есть много мест, где его замечательный способности широко используются. Но в вебе чтение файлов, а тем более запуск ActiveX это большое зло с точки зрения безопасности. Я своими глазами видел скрипт, отдающий ?bad browser? для нормальных браузеров и ?enjoy? вместе с js-кодом для IE, копирующим вирус на машину посетителя. Чтение файлов и работа с БД ? это как плуг для вспашки поля. Без него нельзя поле вспахать, с этим никто не спорит, и даже есть такая штука как мотоблок (кто у дедушки в деревне последний раз был? :)), к нему можно прицепить плуг и пахать, а можно телегу и по дороге ездить. А есть Мерседес. К нему просто никак плуг не приладить, но он для того и не создан, пытаться говорить что из-за этого Мерседес ? плохой автомобиль ? бред. Тем не менее сейчас все равно постепенно даже плуг прилаживают, в HTML5 будет доступ к локальной БД SQLlite. Возможно где-то это и упростит какие-то специфические задачи, но не более того. Говорить, что без него нельзя ездить ? неверно.

Link to comment
Share on other sites

Не ищу. Докажи, что DCSS в Опере можно заставить работать. Этого будет длстаточно, чтоб я утерся.

Так я вроде уже калькулятор написал :) ?

Или он куда-то делся? Или он в Опере не работает? Или он в ФФ, Сафари, ИЕ не работает?

Что-то я не понял....

Link to comment
Share on other sites

2homm

Очень много слов, а хочется кода. Вот пример:

<html>
<head>
<title>download Behavior</title>
</head>
<body>
<pre id=main style="behavior:url(#default#download)"></pre>
<script>
main.startDownload("a.txt",new Function("s","main.innerText=s"));
</script>
</body>
</html>

Файл "a.txt" - любой текстовый файл, может содержать текст или кусок HTML. (Проверьте, в IE работает.)

Так (кажется) работает магазин OMRON. (Точно не помню.)

Вместо "a.txt" можно написат URL, содержащий запрос в БД.

Знаете ли вы, какой механизм позволяет опере делать запросы в БД?

Link to comment
Share on other sites

Файл "a.txt" - любой текстовый файл, может содержать текст или кусок HTML.

Это называется ajax. При условии что файл ?a.txt? расположен на том-же домене, что и вызывающий скрипт:

<script>
function loadXMLDoc(url, succes, fail) {
var req = null;
// Create the request object; Microsoft failed to properly
// implement the XMLHttpRequest in IE7, so we use the ActiveXObject when it is available
try {
req = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
} catch(e){}
if (req) {
req.onreadystatechange = function(){
if (req.readyState ==4){
switch (req.status) {
case 200:
if (typeof succes == 'function')
succes(req.responseText);
break;
default:
if (typeof fail == 'function')
fail(req.status);
}
}
};
req.open("GET", url, true);
req.send(null);
}
return (req ? true : false);
}

loadXMLDoc('1.html', function (responce){
alert(responce);
}, function (error){
alert('Ошибка: '+error);
});
</script>

Вместо "a.txt" можно написат URL, содержащий запрос в БД.

URL, содержащий запрос к базе? Что-то новенькое.

Знаете ли вы, какой механизм позволяет опере делать запросы в БД?

Лимузину не нужен плуг, я для чего предыдущее сообщение писал? Для вспашки поля есть другие машины.

Link to comment
Share on other sites

2homm

Я не правильно выразился:

function sendString(s){
req=new ActiveXObject("Microsoft.XMLHTTP");
if(req){
req.onreadystatechange=processReqChange;
req.open("GET","http://wwwwwww/cgi-bin/echo.pl?"+s,true);
req.send("")
}
};

через перловый скрипт.

Эта штука(XMLHttpRequest), весьма многословная, появилась ещ? в IE4. Почему е? называют сейчас: ajax?

И ещ? вопрос: если вы имеете это, на что вам PHP? Линкуйте куски HTML прамо в браузере. innerHTML в опере работает сегодня.

Link to comment
Share on other sites

Эта штука(XMLHttpRequest), весьма многословная, появилась ещ? в IE4. Почему е? называют сейчас: ajax?

Как я понимаю, самого XMLHttpRequest так до сих пор в ИЕ и нет, его эмулирует ActiveX, что требует менее безопасные права у сайта. Называют ajax, потому что это не синоним XMLHttpRequest, а скорее концепция его использующая.

И ещ? вопрос: если вы имеете это, на что вам PHP? Линкуйте куски HTML прамо в браузере. innerHTML в опере работает сегодня.

И откуда куски браться будут? Из астрала? Понятно, у тебя там 50 статичных описаний товара было, ты мог и ручками для них описания в отдельные html запихать и думать что это верный подход, ну а я не негр я могу и с большей пользой время потратить.

Link to comment
Share on other sites

http://people.nnov.ru/master/Omron/tonometers.XML

http://people.nnov.ru/master/Omron/mechanical_tonometers.XML

И что, за такой ручной работой будующее? И это называется не конная тяга?

Шизофрения это когда человек живет вот в таком придуманном мирке, далеком от адекватной реальности, где он бог и царь. Бедные заказчики, как они это потом правят :)

Link to comment
Share on other sites

Алекс, homm,

как же вы весело спорите - один говорит, что XMLHttpRequest появился ещ? в IE4, другой говорит, что самого XMLHttpRequest так до сих пор в IE и нет. Молодцы. :)

в какую версию IE впендюрили XMLHTTP впервые?

в какую версию IE впендюрили XMLHTTP в виде нативного объекта XMLHttpRequest?

Link to comment
Share on other sites

Мне даже не надо ничего выдумывать - подобные споры не новость.

Итак, ваша аргументация, характеризуемая как "a million monkeys can't be wrong", в точности напоминает мне вот это сообщение из обсуждения to learn jQuery if already using prototype. Поэтому я, не придумывая ничего нового, так же просто беру первый же сайт из вашего списка и смотрю на результаты проверки:

Markup Validation Service;

CSS Validation Service.

Link to comment
Share on other sites

Можешь прочитать коментарий в моем посте с XMLLoad.

У каждого браузера своя собственная реализация XMLHttpRequest (если она есть), она может быть почти какая угодно с точки зрения объектов в стандарте ECMA-262 или комформной/не комфорной с точки зрения документов W3C, но разная реализация никак не отвергает тот факт, что в IE7+ появился и может быть использован отдельный XMLHttpRequest Object заодно с единственно возможным ранее объектом ActiveX. Отсюда фраза: "XMLHttpRequest так до сих пор в ИЕ и нет, его эмулирует ActiveX" приблизительно такая же правильная и точная, как и фраза оппонента про то, что "XMLHttpRequest появился ещ? в IE4". :)

AKS, вы хотите местный холивар про "жоперу" и флейм про "шизофреников" возвести в степень? Только jQuery тут и не хватало. :) Если дело выгорит, то я уже точно не вытерплю и вступлю с темами "bmw vs. гнусный мерин" и "плазма pioneer vs. гов?нный панас"... :)

Link to comment
Share on other sites

AKS, вы хотите местный холивар про "жоперу" и флейм про "шизофреников" возвести в степень? Только jQuery тут и не хватало.

Не-е-е, я все, умолкаю про jQuery, цитируя напоследок известную фразу:

Жаль, что люди, которые с точки зрения понимания javascript находятся ещ? где-то на начальном этапе, уже навязывают миру такие вещи, как jQuery.

Надеюсь, что те, кто выдает вещи в стиле:

return (req ? true : false);

, поймут мой намек с цитатой...

Link to comment
Share on other sites

Во первых я не приводил никакой аргументации, я дал информацию к размышлению и призвал самому для себя найти ответ на твой вопрос.

Во вторых, ?А можно ли доверять тому, что написано в jQuery?. Я для себя решил что можно, это мое мнение и я никого к нему не склоняю, если кто-то считает что нельзя ? пусть так считает, но для меня упоминание о том что XMLHttpRequest в ИЕ7 глючит ? авторитетное мнение, которого я буду придерживаться, пока меня не припрет лично убедится в этом и выяснить наверняка, так это или нет.

Так-же я считаю споры о поголовоном ?to learn jQuery if already using prototype? ? массовым помешательством. Зачем вдруг всем пользователям prototype переходить на jQuery? Пусть каждый решает сам что ему делать.

Ну и в четвертых какое вообще отношение имет валидность HTML кода к авторитетности и качеству js-движка? Поэтому ты дальше можешь смотреть на результаты проверки, надеюсь тебе это нравится :)

Link to comment
Share on other sites

Жаль, что люди, которые с точки зрения понимания javascript находятся ещ? где-то на начальном этапе, уже навязывают миру такие вещи, как jQuery.

Жаль. Хоршо что есть люди разбирающиесе, которые пользуются сами и не навязывают, потому что им это не нужно :)

Надеюсь, что те, кто выдает вещи в стиле:

return (req ? true : false);

, поймут мой намек с цитатой...

А можно здесь поподробне? Что с этой строкой не так? Может я что-то не вижу?

Link to comment
Share on other sites

но разная реализация никак не отвергает тот факт, что в IE7+ появился и может быть использован отдельный XMLHttpRequest Object

Хоршо, пожалуй соглашусь с этим, все-таки у меня нет данных что же там именно в ИЕ7 не так.

Link to comment
Share on other sites

Ну и в четвертых какое вообще отношение имет валидность HTML кода к авторитетности и качеству js-движка?

Зри в корень. (с)

Дело-то не в валидности (x)html-кода, а в валидности продукта (ведь сайт - это тоже продукт) в общем и целом. Если он крив - то он не может служить примером.

А можно здесь поподробне? Что с этой строкой не так? Может я что-то не вижу

Обсудим подробней, когда "увидите"...

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