Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   HTML/DHTML/CSS/JS/VB (http://www.flasher.ru/forum/forumdisplay.php?f=66)
-   -   getURL и javascript тормозят страницу (http://www.flasher.ru/forum/showthread.php?t=87932)

Squtter 14.11.2006 15:51

getURL и javascript тормозят страницу
 
То есть, имеем div, в нем флэш-мувик с анимацией, кнопку с getURL("javascript:function();")
сам скрипт с функцией, которая пишет на этой же странице в другой div'е что-то типа, document.getElementById('div').innerHTML = txt
в процессе записи происходит жуткое торможение мувика :(
чем больше txt, тем дольше тормозит...
в принципе, понятно почему, но есть ли решение такой проблемы?

P.S.
В опере тормозит больше всего, вообще замечено, что плагин флэш для оперы оченна кривой...
В лисе и ишаке тормоза присутствуют, но менее заметны...

KidsKilla 14.11.2006 18:30

скорее всего сама по себе флешка ни при чем, а криво написан жс.

Squtter 16.11.2006 14:30

думал, что понятно проблему описал...

вот весь JS:
function wdata(txt) {
document.getElementById('data').innerHTML = txt;
}

попробуйте кривее его написать? :)

а в теле html <div id="data">some_text</div>
во флэше кнопка вызывает:
txt = "some_other_text";
getURL("javascript:wdata('"+txt+"');");

KidsKilla 17.11.2006 17:21

страницу посмотреть можно?

Kikasso 18.11.2006 01:09

Оптимальное решение - пересылать из флеша не текст, а только идентификаторы текста, а потом ЗАБИРАТЬ текст из флеша. Как сделать - смотри тут: http://www.adobe.com/support/flash/p...hflash_03.html
Методы для пятерки отлично работают и на восьмерке, а главная проблема, к кому обратиться, слава SWFObject, решена.
Я думаю, это поможет, иначе.. даже страшно подумать.. бить текст на блоки разумной длины и передавать кусками?
Кривее написать? ЗАПРОСТО!.

Squtter 20.11.2006 09:12

то есть, примерно, так?
FLASH:
on(release){
txt = "some_text";
getURL("javascript:wdata();");
}
JS:
function wdata() {
var txt = window.document.FLASH.GetVariable("txt");
document.getElementById('data').innerHTML = txt;
}
по сути, получается, флэш ничего не передает, а js сам забирает из него то, что надо, как ты (Kikasso) и написал... не лечит!
я вставил alert в js перед var txt, и четко видно, что торможение происходит в момент выполнения .innerHTML =... то есть флэш реально не при делах :)
видимо, проблема остается открытой, что очен-на не хорошо...
вернее она стоит уже по другому:
при выполнении js, независимо от того, обращается ли этот js к объекту флэш или выполняется независимо от последнего, в момент выполнения именно "innerHTML", происходит серьезное торможение флэш-клипа... Получается, что технология AJAX еще не готова сотрудничать с macromedieЙ :)

Kikasso 20.11.2006 10:13

Вставь туда вторую флеху и общайтесь через LocalConnection.
Пусть вторая забирает с сервера то, что ей первая скажет.
На крайняк передавай текст кусками.

Squtter 20.11.2006 22:20

придется :)
но это не решит задачу должным образом

Squtter 27.11.2006 14:56

все!
дело в опере...
путем некоторых эксперементов выявилось торможение только под оперой...
и как это не печально, но не буду отказываться от такого взаимодействия FLASH+JS
Буду надеятся, что скоро в опере исправят этот небольшой баг...

KidsKilla 27.11.2006 15:10

правильно. опера -- недобраузер.


Часовой пояс GMT +4, время: 10:18.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.