Pull to refresh
24
Макс@Slavenin999

User

5
Subscribers
Send message
Отнюдь, например, все та же опера помещает в замыкание не одну переменную, которая будет использоваться дальше, а все имеющиеся на данный момент в зоне видимости
А как тогда? Использовать замыкания? Если честно такой вариант выглядит несколько более ресурсоемким, чем простое объявление глобальной переменной, или же, если таких переменных много, использования одного глобального управляющего объекта с определенным набором полей
следуя вашей логике, нужно все объекты объявлять как глобальные, чтобы они каждый раз не проходили через тяжелые муки рождения… а меж тем, чем меньше глобальных переменных в коде, тем лучше, особенно при использовании сторонних библиотек
ну если он мне нужен несколько раз за сессию, зачем постоянно держать его в памяти? Создал->использовал->на свалку
я знаю где лежат мои файлы, но, когда файлов очень много, делать десяток два requre_once() в заголовке каждого файла излишне, проще один раз подключить файл с автозагрузчиком, тем более, что он, в случае правильного указания директории с классами сделает это очень быстро, за одну-две итерации.
Я не особо гуру в механизмах JS, но в приведенном мной примере колбэк определен не в воркере, а в объекте аякса, к тому моменту, как объект возвращает значение его уже некуда возвращать. Асинхронный запрос подразумевает, что скрипт не останавливаясь выполняется дальше, а дальше после отсыла запроса, идет возвращение значения workerAjax.postMessage(objEx); и воркер удаляется(наверно). Поэтому колбэк определен в основном потоке, а не в воркере, в который нужно будет импортировать еще и скрипт, в котором содержится вызываемая колбэк функция. Наверно, как-то так. :)
как оказалось, касяк в самой мазиле подробнее здесь
нашел консоль в этом мегобраузере… пишет
Ошибка: Could not get domain!
Источник: localhost/JS/workers/mainWorkers.js
Строка: 39

если адрес скопировать то файл нормально открывается, да и другие браузеры нормально отрабатывают, один фф чего-то артачится…
опера 11.52 chrome 15.0.874.121 m возвращают 'undefined', обновил ff до 8 версии, он тупо вылетает на строке создания воркера
var workerAjax = new Worker('/JS/workers/ajaxWorker.js');
при этом не выдает никакой ошибки… О_О
уважаемый yui_room9, приведенный мной пример объекта для обмена аякс запросами не содержит костылей, а реализует одну из самых распространенных кроссбраузерных функций создания объекта XMLHttpRequest. Как только все браузеры начнут поддерживать унифицированную технологию создания объектов, я буду первым, кто перепишет свой класс и упростит его. Но пока, к моему величайшему сожалению, это не так, посему я, подчеркиваю еще раз — я, реализовал обмен данными именно таким образом. Если вас он не устраивает я на нем не настаиваю, делайте как хотите. Для меня главное, что он работает во многих современных браузерах. Кстати, тот объект который есть переводится с веб воркеров на обычный код, фунциклирующий в IE, буквально несколькими строками.
да, и стоит наверно все-таки проверять статус ответа сервера, а то state может быть 4, а вот status 404…
нормальный вариант — это тот, который работает везде. Это как свежесть — она только одна ©
Это не перевод, согласен, прежде чем писать статью, я прочитал курс на intuit`e по html5, но больше статей не изучал, все что написано — добыто своими силами
Действительно, имела место речевая ошибка. Немного подправил. Надеюсь, больше не будет возникать двусмысленности в написанном.
исправлено :)
это написано про воркеры в целом, а не про аякс
дополнил статью, надеюсь, получилось понятно
а мой код работает во всех браузерах, поэтому смысла в нем что-то менять пока не вижу
нет, не из-за скорости, где это я такое написал? смысл в том, что при асинхронном запросе воркер возвращает результат не дождавшись ответа с сервера.

Information

Rating
Does not participate
Location
Тверь, Тверская обл., Россия
Date of birth
Registered
Activity