Тут я сильно опечалился, когда обнаружил, что механизм, который выполнял подгруздку информации с сервера, просто не работает в IE, при чем везде работает, кроме любого IE.
Прям не знаю что делать, я в большой печали, поглядите люди пожалуйста, как сие безобразие заставить работать.
Свернутый текст
Код |
var req; var loader; function loadDoc(url, vars, func, varsf) { if (window.XMLHttpRequest) { // Mozilla, Safari, ... req = new XMLHttpRequest(); if (req.overrideMimeType) { req.overrideMimeType('text/xml'); } } else if (window.ActiveXObject) { // IE try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } req.open("POST", url, true); req.onreadystatechange = processReqChange(); req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); req.send(vars); req.params = {func : func, varsf : varsf}; } function processReqChange(){ if (req.readyState == 4) { if (req.status == 200) { window[this.params.func](req.responseText, this.params.varsf); } else { window[this.params.func]("false<xmltager>Error: " + req.statusText + req.responseText, this.params.varsf); } } } |
Спустя 3 часа, 54 минуты, 56 секунд (20.10.2009 - 18:26) kirik написал(а):
Спустя 18 минут, 25 секунд (20.10.2009 - 18:44) haZe написал(а):
Цитата |
эт че? |
Это я выполняю функцию название которой лежит в переменной. Хмм... В ИЕ оно подругому делается чтоли?
Цитата |
тут класс найдешь |
Класс! Буду юзать теперь, но не сейчас, сейчас уже поздно.
Спустя 46 минут, 38 секунд (20.10.2009 - 19:31) kirik написал(а):
Цитата (haZe @ 20.10.2009 - 10:44) |
Это я выполняю функцию название которой лежит в переменной. |
Чет странно, мне кажеццо.. А ты не можешь просто определить функцию, и потом вызывать ее, а не сохранять ее в window..?
Спустя 1 час, 24 минуты, 37 секунд (20.10.2009 - 20:56) twin написал(а):
Цитата |
Класс! Буду юзать теперь, но не сейчас, сейчас уже поздно. |
Зря. Я везде у себя поставил, нарадоваться не могу.
. kirik - гений

Спустя 1 минута, 22 секунды (20.10.2009 - 20:57) haZe написал(а):
0_о ты видать не понял...
Код |
var func = "foo"; function foo() { alert('foo'); } window[func]();//будет алерт с foo |
Спустя 1 минута, 37 секунд (20.10.2009 - 20:59) haZe написал(а):
Цитата (twin @ 20.10.2009 - 17:56) | ||
Зря. Я везде у себя поставил, нарадоваться не могу. . kirik - гений ![]() |
Согласен. Но тогда переделывать много, а сайт скоро сдавать.(((
Спустя 1 минута, 37 секунд (20.10.2009 - 21:00) twin написал(а):
Много? 10 минут максимум. Быстрее чем ты косяк найдешь.
Спустя 22 минуты, 11 секунд (20.10.2009 - 21:22) kirik написал(а):
Цитата (haZe @ 20.10.2009 - 12:57) |
0_о ты видать не понял... |
Ну дык нафига ее через window вызывать? Просто foo(); и усё, она ведь и так глобальная получается.
twin
Не вгоняй в краску

Спустя 1 час, 33 минуты, 26 секунд (20.10.2009 - 22:56) haZe написал(а):
Да дело не в глобальности.
Смотри, у меня есть функция, которая скажем берет со страницы какую-та инфу, как-то ее обрабатывает и скажем выполняет анимацию. После чего она вызывает loadDoc где говорит что и куда надо отправить, а так же какую функцию выполнить после того как сервер ответит. В третий атрибут(func) я кладу название функции, которая выполняется после ответа сервера. И таких пар у меня много.
Смотри, у меня есть функция, которая скажем берет со страницы какую-та инфу, как-то ее обрабатывает и скажем выполняет анимацию. После чего она вызывает loadDoc где говорит что и куда надо отправить, а так же какую функцию выполнить после того как сервер ответит. В третий атрибут(func) я кладу название функции, которая выполняется после ответа сервера. И таких пар у меня много.
Спустя 8 минут, 22 секунды (20.10.2009 - 23:04) kirik написал(а):
Цитата (haZe @ 20.10.2009 - 14:56) |
В третий атрибут(func) я кладу название функции, которая выполняется после ответа сервера. |
А ты просто ссылку на функцию вместо ее названия не можешь что ли передавать?
Спустя 6 минут, 3 секунды (20.10.2009 - 23:10) haZe написал(а):
Нет
Потому что изучал JS вообще бессистемно и не так хорошо его знаю. В общем про ссылки не знал 
Ну собсна проблема от незнания.


Ну собсна проблема от незнания.
Спустя 7 минут, 45 секунд (20.10.2009 - 23:18) kirik написал(а):
Так вот.. Замени:
Код |
req.onreadystatechange = processReqChange(); // на req.onreadystatechange = processReqChange(func); // ------ function processReqChange(){ // на function processReqChange(func){ // ------ |
Внутри processReqChange() просто делай func('че надо');, а вызывать так:
Код |
var func = function (arg) { alert(arg); } loadDoc(url, vars, func, varsf); // -- или -- loadDoc(url, vars, function (arg) { alert(arg); }, varsf); |
если не разберешься, пиши

Спустя 8 минут, 55 секунд (20.10.2009 - 23:27) haZe написал(а):
kirik, спасибо, учту. Но для того сайта который я сейчас доделываю это наверно подойдет. Потому что больше тысячи строк ЯваСкрипта, а мне уже наверно завтра надо будет слить его на хост, сдать в общем.
Ты мне книжечку можешь посоветовать? Или этого хватит?
Ты мне книжечку можешь посоветовать? Или этого хватит?
Спустя 10 минут, 19 секунд (20.10.2009 - 23:37) kirik написал(а):
Цитата (haZe @ 20.10.2009 - 15:27) |
Ты мне книжечку можешь посоветовать? Или этого хватит? |
Книжку не подскажу, ибо сам учил (учу) яваскрипт методом проб и ошибок

Цитата (haZe @ 20.10.2009 - 15:27) |
Потому что больше тысячи строк ЯваСкрипта |
ппц..

Спустя 2 минуты, 54 секунды (20.10.2009 - 23:40) haZe написал(а):
Цитата (kirik @ 20.10.2009 - 20:37) | ||
ппц.. ![]() |
У меня админка ваще целиком на аяксе.
А сам сайт, практически целиком грузится сразу и подгружается статьи, страницы новостей и обратная связь. В общем все общение с сервером полностью асинхронно)))
Спустя 2 минуты, 4 секунды (20.10.2009 - 23:42) kirik написал(а):
Цитата (haZe @ 20.10.2009 - 15:40) |
В общем все общение с сервером полностью асинхронно))) |
тобишь без JS этот сайт даже посмотреть нельзя..

Спустя 8 минут, 36 секунд (20.10.2009 - 23:51) haZe написал(а):
Ага!
Там и навигация на JS со слайдингом.
На самом деле сайт сделал и понял, что до его уровня мне еще расти и расти. Вернее сначала сделал, вроде норм, а потом поперли всякие баги, глюки ну и вследствие всякие фиксы, заплатки, костыли. Я не доволен им.

Там и навигация на JS со слайдингом.
На самом деле сайт сделал и понял, что до его уровня мне еще расти и расти. Вернее сначала сделал, вроде норм, а потом поперли всякие баги, глюки ну и вследствие всякие фиксы, заплатки, костыли. Я не доволен им.
Спустя 3 минуты, 38 секунд (20.10.2009 - 23:54) kirik написал(а):
Больше всего интересно, как такой сайт будет индекироваться в поисковиках, и будет ли вообще 
Тут СЕОшник знакомый просил заменить JS меню на обычное CSS, потому что гугл не видел менюшку.

Тут СЕОшник знакомый просил заменить JS меню на обычное CSS, потому что гугл не видел менюшку.
Спустя 26 минут, 32 секунды (21.10.2009 - 00:21) haZe написал(а):
Ну хз. Ваще по сути там есть открыть хтмл код, то всю инфу и так увидеть можно.