Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ввод дополнительных свойств стандартным объектам 
:(
    Опции темы
bronenos
Дата 8.12.2007, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 4.7.2007

Репутация: нет
Всего: нет



В Opera, FF работает, в IE - нет
Код

try { var obj = new XMLHttpRequest(); }
catch (e) { var obj = new ActiveXObject("Msxml2.XMLHTTP"); }

obj.id = Math.round(Math.random() * 1000);
alert(obj.id);


Как это можно сделать, мне надо присваивать идентификаторы, чтоб не путать запросы и функции-обработчики...
PM MAIL   Вверх
Royan
Дата 8.12.2007, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Dreamer
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 14.9.2002
Где: Лондон

Репутация: 1
Всего: 15



http://forum.vingrad.ru/forum/topic-185270.html
Поэтому в вашем случае наиболее вероятным решением будет создать wrapper, а одному из его свойств присвоить объект httpRequest


--------------------
Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь
PM MAIL MSN   Вверх
bronenos
Дата 8.12.2007, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 4.7.2007

Репутация: нет
Всего: нет



и чего я этим добьюсь...
PM MAIL   Вверх
Royan
Дата 8.12.2007, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Dreamer
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 14.9.2002
Где: Лондон

Репутация: 1
Всего: 15



Цитата(bronenos @  8.12.2007,  11:41 Найти цитируемый пост)
и чего я этим добьюсь...

Решите свою проблему smile

Если у вас есть какой-то уточняющий вопрос или вам что-то не ясно, пожалуйста, спрашивайте.


--------------------
Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь
PM MAIL MSN   Вверх
bronenos
Дата 8.12.2007, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 4.7.2007

Репутация: нет
Всего: нет



Я делаю асинхронные запросы, и чтобы не путать обработчики ответовс запросами, я присваиваюидентификаторы...
Если я делаю запрос на php то он передает id обратно, в ответе. Но если делаю запрос на текстовый файл, то единственная мысль - хранить id в самом объекте в виде свойства... но мое желание пресек IE... очень обидно...
PM MAIL   Вверх
Royan
Дата 8.12.2007, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Dreamer
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 14.9.2002
Где: Лондон

Репутация: 1
Всего: 15



bronenos, из сказанного вами я не совсем понял зачем вам, собственно, различать запросы в js коде, из-за чего у меня возникает сразу несколько вариантов ответа на ваш вопрос, но быть может, если вы опишите вашу задачу в общем, то будет легче найти самый оптимальный способ ее решения.


--------------------
Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь
PM MAIL MSN   Вверх
bronenos
Дата 8.12.2007, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 4.7.2007

Репутация: нет
Всего: нет



Я пользую свою библиотеку, которая сохраняет в глобальном массиве под ключом=id значение=объект
объект включает в себя св-ва настроек, объект XMLHttpRequest и функцию-обработчик ответа сервера (есть два обработчика - первый проверяет, завершен ли запрос и вызывает второй, пользовательский).
Все было хорошо, пока я делал связку js + php, php возвращал id, который я передавал get параметром

но потом в состав библы вошел метод подключения js файла, и тут уже надо бы иметь возможность получать id объекта, который завершил запрос.. и единственное, что приходит на ум - это использование доп. св-ва (id), который не держит IE..
далее ступор...

Добавлено через 2 минуты и 23 секунды
(предложения по отказу от первого обработчика и/или подключения файла - не подходят)
PM MAIL   Вверх
vasac
Дата 8.12.2007, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 13
Всего: 36



Код

/* Запрос с заданным id */
function request(id)
{
  if (window.XMLHttpRequest) {var request = new XMLHttpRequest();} else { /* IE */}
//  ...
  request.onreadystatechange = (
    function()
    {
    // Функция обработки результата, в которой доступна переменная id
    }
  );
}

PM WWW   Вверх
bronenos
  Дата 9.12.2007, 00:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 4.7.2007

Репутация: нет
Всего: нет



Сходство имени переменной и имени функции - это специально?
Если нет, то объясните, плз, механизм работы этого синтаксиса
Если да, то такой способ не подойдет, ибо, как я уже говорил, у меня двойная обработка, тобишь onreadystatechang'ем тут не обойтись одним

Добавлено через 6 минут и 47 секунд
А если я присвою в объекте (ассоц. массиве) значение ключу-объекту, и далее изменю свойство объекта, то потом обратившись по нему как по ключу я получу то значение, к которому его сопоставил?
я мог бы и попробовать, да уже нет времени, а может здесь кто-то ответит сразу...

Добавлено через 8 минут и 59 секунд
вопрос состоит в том, меняется ли для js-интерпретатора объект в целом если меняется хотя бы одно его св-во..
PM MAIL   Вверх
Royan
Дата 9.12.2007, 02:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Dreamer
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 14.9.2002
Где: Лондон

Репутация: 1
Всего: 15



bronenos, Думаю вы не будете спорить, что у вас все очень хитро реализовано, например что имеется ввиду под "метод подключения js файла"? 


Цитата(bronenos @  8.12.2007,  21:16 Найти цитируемый пост)
вопрос состоит в том, меняется ли для js-интерпретатора объект в целом если меняется хотя бы одно его св-во..

Объект в JS это ссылка. Поэтому независимо от того какие свойства вы там поменяли ссылка не измениться и будет ссылаться на все тот же объект. На самом деле ваш вопрос несколько некорректен, потому что хэш, если таковым вообще оперирует JS интерпретатор, должен почти наверняка вычисляться в момент конструирования объекта на основе внутреннего адреса объекта в памяти. В ином случае его бы приходилось вычислять каждый раз при изменении состояния объекта, а это бессмысленно ибо ведет к катастрофическим последствиям

А вообще в отношении того как организовать взаимосвязь между сервером и браузером то можно воспользоваться cookies, хотя есть вероятность что они будут отключены, но во-первых это можно проверить и предупредить пользователя, а во-вторых этой вероятностью можно пренебречь.


Не знаю чем еще вам помочь, все равно до конца не ясны корни вашей проблемы. Почему именно так должна работать ваша библиотека? Мало информации...


--------------------
Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь
PM MAIL MSN   Вверх
bronenos
Дата 9.12.2007, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 4.7.2007

Репутация: нет
Всего: нет



Метод полдключения?
Код

$.include("preview.js");


А так должна потому что в функцию обработки потом передается чисто текст ответа, ибо в 97% запросах пользователи рабоют только с readyState=4.
Сейчас проверю насчет объектов..
PM MAIL   Вверх
bronenos
Дата 9.12.2007, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 4.7.2007

Репутация: нет
Всего: нет



Хотя, в принципе, наверное откажусь от этой хни - и оставлю только библа + php
ибо кому надо подружать данные - 90% делают запрос к php файлу, а не простому текстовику...
Спасибо за оказанное внимание...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1066 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.