Многопоточность JavaScript в IE6?

Действительно ли многопоточность JavaScript возможна в IE6?

Есть ли какие-либо сторонние библиотеки для этого?

8
задан Daniel Vassallo 3 April 2010 в 23:56
поделиться

6 ответов

JavaScript не поддерживает встроенную многопоточность в текущих веб-браузерах. Даже если бы это было так, я уверен, что IE 6 не поддерживал бы это :)

Запуск ваших скриптов в нескольких iframe может быть одним из обходных путей, как Джейсон Кестер предложил в другом ответе .

Кроме того, для современных браузеров вам может быть интересно проверить Web Workers , но это определенно что-то из лиги IE 6:

11
ответ дан 5 December 2019 в 08:23
поделиться

Запускайте задачи в IFrames

Предполагая, что вы говорите о многозадачности на стороне клиента, вы можете открыть n фреймов на своей странице, каждый из которых указывает на страницу в вашем домене.

Есть много способов спроектировать это оттуда. Вероятно, самым простым было бы иметь один файл .js, который вы запускаете из каждого кадра. Он звонит домой в parent.readyToGo () или что-то еще и получает задание. Рабочие методы могут вызывать что-то вроде parent.taskFinished (), чтобы сообщить, когда они закончили.

Самое главное, не слушайте никого, говорящего вам не запускать критически важное многопоточное приложение javascript в IE6.Я уверен, что у вас есть веские причины :)

3
ответ дан 5 December 2019 в 08:23
поделиться

Нет - точно не в IE6. Вы можете подделать это, используя множество window.setTimeout () s.

См. Почему JavaScript не поддерживает многопоточность?

2
ответ дан 5 December 2019 в 08:23
поделиться

Ну, в HTML5 появляются Web-Workers. Но я очень сомневаюсь, что существует библиотека, которая создает обертку для использования ее в IE6.

Поддерживает ли мой браузер web-workers?

2
ответ дан 5 December 2019 в 08:23
поделиться

Если вы просто хотите писать синхронный код и таким образом избежать необходимости писать обработчики событий повсюду, вы можете попробовать: Strands

1
ответ дан 5 December 2019 в 08:23
поделиться

Google Gears - это плагин, который работает с IE6 и включает в себя нечто под названием WorkerPools. Похоже, что Google Gears уже не очень активно разрабатывается, потому что большинство идей Gears пытались перенести в HTML5. WorkerPools - это, по сути, фоновые процессы, которые не делятся состоянием и общаются только через сообщения. В HTML5 это превратилось в WebWorkers. Более подробную информацию вы можете найти здесь: http://code.google.com/apis/gears/api_workerpool.html

1
ответ дан 5 December 2019 в 08:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: