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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка flash-объектов при обновлении в IE8, что ж за дела 
:(
    Опции темы
deadm0r0zz
Дата 10.11.2009, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Скажу сразу, что ie7 такую ошибку не выдает ..

Вообщем на JS написан контейнер для сборки обучающих модулей, где объекты формируются из xml-файла..
Проблема такая: если в модуле используются flash-объекты(где javascript связан с actionScript2.0 call-функциями), то при нажатии на f5 вылетает ошибка...при первоначальном запуске ошибки нет... вопрос..что такого появилось в ie8 при нажатии на f5? в чем дело вообще? ошибка не мешает работе с модулем.. но заказчикам это не нравится ..


Webpage error details

Message: Object required
Line: 53
Char: 3
Code: 0
URI: file:///D:/BrowserContainer/index.html

Ошибка выскакивает раз десять

После долгих юзаний window.onerror и удаления во время первой ошибки flash-объекта методом removeChild .. ошибка пропадает.. то есть встает такой вопрос.. как отследить нажатие на f5 .. вообще обновление страницы до ее загрузки..onloadа еще нет.. то есть какое первое событие в момент нажатия на f5 ?
PM MAIL   Вверх
youri
Дата 11.11.2009, 04:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



разве в ie8 такое окно выдается? Может это флеш выдает? или еше кто?
PM   Вверх
deadm0r0zz
Дата 11.11.2009, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



выдается)) сообщение об ошибке внизу страницы)) восклицательный знак)) щелкаешь по нему и смотришь ошибку))..не в том суть)
PM MAIL   Вверх
youri
Дата 11.11.2009, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



может у тебя отладчик в настройках отключен? Если включен, то дай какой-нибудь минимальный код или ссылку
PM   Вверх
deadm0r0zz
Дата 11.11.2009, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



код чего блин? какой отладчик? Developer Tools? толку от него.. ошибку эту в коде не найти..она появляется после нажатия на f5 .. если есть flash-объекты.. ща запостю класс флэшовый.. но он ни при чем)


function CUniversalFlash()                
{
            var _this;
            var myString;
            var myFlashObj;
            var inputData;
            var outputData;
            this.isBlocked = false;            
            
            var activity=false;    
            this.rightMean = null;
            this.rightSost=null;                
            var active='none';                
            var absolutely=true;
            var check;    
            var interval = null;        
            var count;
            var _widthFlash;
            var _heightFlash;
            this.wasAllTips = false;
            this.countAllTips = 0;
            var isGood;
            this.wasChange = false;
            
            var myIntX = null;
            this._class = "CUniversalFlash";
            var parent;
            
            this.initObject=function(_parent,myX, myY, _width, _height, _src, _inputData, _outputData, _activity, _active, _absolutely)
            {
                _this=this;
                parent = _parent;
                            
                //-------------------------//
                var str = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></object>';
                myFlashObj = document.createElement(str);
                
                str = '<param name="movie" value="'+_src+'"/>';        
                objP = document.createElement(str);
                str1 = '<param name="wmode" value="transparent"/>';
                objP1 = document.createElement(str1);    
                
                myFlashObj.appendChild(objP);
                myFlashObj.appendChild(objP1);
                _parent.appendChild(myFlashObj);
                this.setXY(myFlashObj, myX, myY, "absolute");
                            
                //------------------------//
                
                inputData = _inputData;                
                outputData = _outputData;
                
                _this.rightSost = 0;                                        
                _this.wasAllTips = false;
                _this.isBlocked = false;
                isGood = false;                                                                
                
                active = _active;
                activity = _activity;
                absolutely = _absolutely;
                _widthFlash = _width;
                _heightFlash = _height;            
                
                myIntX = setInterval(_this.afterLoad,10);
            }
            
            this.afterLoad = function()
            {                
                parent.style.display = "";
                var myMass2 = new Array();
                for (var pr in myFlashObj)
                {
                    myMass2.push(String(pr)+'-'+myFlashObj[''+pr]);
                }
                
                if(myFlashObj.getVariable("wasChange"))
                {
                    setParam();
                    readInput();
                    
                    _this.countAllTips = myFlashObj.getVariable("countAllTips");                
                    if(_this.countAllTips==0) _this.wasAllTips = true;        
                    
                    if (activity=="true" || activity==true) check=setInterval(_this.checkFunction,1000);
                    clearInterval(myIntX);
                    parent.style.display = "none";
                    myIntX = null;
                }                
            }
            
            this.checkFunction = function()
            {                
                _this.wasChange = myFlashObj.getVariable("wasChange");                
                if(_this.isRight()==true)
                {                        
                    _this.rightSost = 1;
                    //scene.loader.titleBar.selector.buttons[scene.loader.selectedIndex].setState(1)
                    loader.sceneList[loader.selectedIndex].activeControl.setInBlock();                        
                    _this.setInBlock();
                    _this.isBlocked = true;
                    unBlockActiveButton();
                    clearInterval(check);                                            
                }                
                
                if(loader.sceneList[loader.selectedIndex].activeControl!=null)
                if (loader.sceneList[loader.selectedIndex].activeControl._class == "CUniversalFlash")
                {
                    var start = _this.rightSost;
                    getParam();                
                    var end = _this.rightSost;
                    
                    if ((start == 100 || start == "1") && (end == 0 || end == "0")) loader.sceneList[loader.selectedIndex].countAttempt++;
                    if (_this.rightSost == 100 || _this.rightSost == "1") _this.isBlocked = true                    
                        else _this.isBlocked = false;                
                }
            }
            
            function changingScreen()
            {
                if((loader.selectedIndex+1)< loader.sceneList.length)
                {
                    switch(_this.active)
                    {
                        case "none": 
                                    break;
                        case "unblockNext": 
                                            loader.flashObjBar.actionUnBlockOrShowScene("showIndex",(loader.selectedIndex+1));
                                            break;
                        case "showNext": 
                                         loader.flashObjBar.actionUnBlockOrShowScene("showIndex",(loader.selectedIndex+1));                                     
                                         break;
                        case "goBack":  
                                        loader.flashObjBar.actionUnBlockOrShowScene("showIndex",(loader.selectedIndex-1));
                                        
                                         break;
                        default:  
                                    break;
                    }
                }
            }
        
            this.isRight = function(/*num*/)
            {
                getParam();                
                if (isGood == true || isGood == "true") return true;
                else return false;
            }

            function setParam()
            {            
                myFlashObj.setVariable("inputData",inputData);
                myFlashObj.setVariable("_activity",activity);
                myFlashObj.setAttribute("width",_widthFlash);
                myFlashObj.setAttribute("height",_heightFlash);            
            }
            
            function getParam()
            {            
                myFlashObj.callFunction("<invoke name='Check' returntype='javascript'><arguments></arguments></invoke>");    
                _this.rightSost = myFlashObj.getVariable("rightSost");
                isGood = myFlashObj.getVariable("isGood");                
                outputData = myFlashObj.getVariable("outputData");
            }
            
            function unBlockActiveButton()
            {
                if(loader.sceneList[loader.selectedIndex].activeButtonNext!=null)
                {
                    loader.sceneList[loader.selectedIndex].activeButtonNext.visible = true;                
                    loader.sceneList[loader.selectedIndex].activeButtonNext.setNormalSost();
                }
                
                if(loader.sceneList[loader.selectedIndex].activeButtonBack!=null)
                {
                    loader.sceneList[loader.selectedIndex].activeButtonBack.visible = true;                
                    loader.sceneList[loader.selectedIndex].activeButtonBack.setNormalSost();
                }
                
                if(loader.sceneList[loader.selectedIndex].activeButtonRepeate!=null)
                {
                    loader.sceneList[loader.selectedIndex].activeButtonRepeate.visible = true;                
                    loader.sceneList[loader.selectedIndex].activeButtonRepeate.setNormalSost();
                }
            }
            
            this.setAnswer = function()
            {    
                this.wasChange = true;    
                myFlashObj.callFunction("<invoke name='setAnswer' returntype='javascript'><arguments></arguments></invoke>");
                setInBlock();
                unBlockActiveButton();    
                var countControls = parent.activeControlArr.length;
                if (countControls == 1) unBlockActiveButton();        
            }
            
            this.setTip = function()
            {
                this.wasChange = true;    
                var currTip = myFlashObj.getVariable("countUseTips");                
                if (currTip < _this.countAllTips)
                {                    
                    myFlashObj.callFunction("<invoke name='setNextTip' returntype='javascript'><arguments></arguments></invoke>");                
                    if (currTip == _this.countAllTips-1) _this.wasAllTips = true;
                }
                else
                {                    
                    _this.setAnswer();
                    _this.rightSost = 1;
                }
            }
            
            this.repeateControl = function()
            {
                _this.clearControl();
                _this.rightSost = 0;                                        
                _this.wasAllTips = false;
                _this.isBlocked = false;
                if(_this.countAllTips==0){ _this.wasAllTips = true;}
                if (activity=="true" || activity==true) check=setInterval(_this.checkFunction,1000);
            }
            
            this.clearControl = function()
            {
                myFlashObj.callFunction("<invoke name='Clear' returntype='javascript'><arguments></arguments></invoke>");
            }
            
            
            this.getAnswer = function()
            {
                var meansInLine;
                myFlashObj.callFunction("<invoke name='Check' returntype='javascript'><arguments></arguments></invoke>");
                meansInLine=myFlashObj.getVariable("isGood");
                return meansInLine;
            }

            this.setInBlock = function()
            {            
                myFlashObj.callFunction("<invoke name='Block' returntype='javascript'><arguments></arguments></invoke>");
                _this.isBlocked = true;
            }
            
            this.setUnBlock = function()
            {
                myFlashObj.callFunction("<invoke name='UnBlock' returntype='javascript'><arguments></arguments></invoke>");
                _this.isBlocked = false;
            }
            
            function readInput()
            {
                myFlashObj.callFunction("<invoke name='readInput' returntype='javascript'><arguments></arguments></invoke>");                
                _this.isBlocked = false;
            }            
}
PM MAIL   Вверх
youri
Дата 12.11.2009, 04:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(deadm0r0zz @  10.11.2009,  12:12 Найти цитируемый пост)
Webpage error details
Message: Object required
Line: 53
Char: 3
Code: 0
URI: file:///D:/BrowserContainer/index.html

у меня такое сообщение появляется в одной программе - im-history, которая, судя по всему, использует старый ActiveX-объект Explorer'а
IE 8 такое окно выдывать не должен. У меня он при ошибке предлагает запустить отладчик (Untitled-1.jpg). Когда отладчик отключен (в настройках), то я щелкаю по восклицательному знаку и получаю окно (Untitled-2.jpg)

Если ты получаешь в ie 8 окно, как ты сказал, то скорее всего его вызывает флеш, а не ie 8. Можешь скриншот показать?

Цитата(deadm0r0zz @  11.11.2009,  19:46 Найти цитируемый пост)
код чего блин? какой отладчик? Developer Tools? толку от него.. ошибку эту в коде не найти..она появляется после нажатия на f5 .. если есть flash-объекты.. ща запостю класс флэшовый.. но он ни при чем)

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

да любой отладчик под ie. И включи отладку в настройках. Хотя не факт, что отладчик сработает

Цитата(deadm0r0zz @  11.11.2009,  16:39 Найти цитируемый пост)
выдается)) сообщение об ошибке внизу страницы)) восклицательный знак)) щелкаешь по нему и смотришь ошибку))..не в том суть)

а я думаю, что суть в том ;)

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


 




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


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

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