PHP rocks! wünscht allen Mitgliedern einen guten Rutsch ins neue Jahr 2017 !!!
Hinweis: Das Forum zieht um! Um keine Datenverluste zu haben, schalten wir zwecks Übernahme der Daten das Forum am Sonntag, den 24.04.2016 um ca. 21:00 Uhr offline und passen anschliessend die DNS-Einträge an.
www.php-rocks.de wird euch dann nach den Aktualisierungen der DNS-Server wieder wie gewohnt uneingeschränkt zur Verfügung stehen.
Danke für euer Verständnis!

Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Verrannt
#1
Meine VCS-Raid-HD ist hardwaremäßig abgeschmiert und es wird mich wohl noch ein paar Tage kosten das zu reparieren.
Ich habe mich in einem Projekt etwas "verrant", bzw. hab ich irgendeine Blockade, ich habe irgendeinen Fehler eingebaut und komme nicht richtig weiter und wegen s.o auch kein passendes Backup.

Ich werde das library updaten, d.h. die derzeitige Version ist noch nicht das Ende vom Lied, allerdings sollte sie zumindest soweit bis hierhin funktionieren, tat sie auch, bis ich ... ich weiß auch nicht, ich tippe auf einen Typo, oder möglicherweise habe ich irgendwo fälschlicherweise eine Zuweisung wo eigentlich eine Variable GELESEN werden sollte!?

Zitat:Error: __noSuchMethod__ is deprecated library.js:1:46555
Warning: Method checkReady of overloaded object and magic method __call is not defined! library.js:8:8147
Method checkReady of overloaded object and magic method __call is not defined!

Code:
     this.resetReady = function(labelText, pro, func){
      $.WebfanDesktop.bootReady = false;
     
     
      if('undefined' === typeof  $.WebfanDesktop.o.processFactor){
$.WebfanDesktop.o.processFactor = 1;
}
      if('function' === typeof func && null !== func){
$.WebfanDesktop.o.readyStack.push(func);
}


     
      try{
     
      $('.img-ajax-loader').show();
        $('.abs window ui-draggable ui-resizeable window_stack').hide();
        $('.abs icon').hide();
        $('#menu_top').hide();
         
        var labelText=('undefined' === typeof labelText) ? '' : labelText,
        progressbar = $( $.WebfanDesktop.o.doms.progress ),
        progressLabel = $( $.WebfanDesktop.o.doms.progress_label );
        if('string' === typeof labelText)$(progressLabel).text( labelText );
        $(progressLabel).prepend('<img src="http://images.webfan.de/ajax-loader_2.gif" alt="lade..." style="border:none;" class="img-ajax-loader" /> ');
       
        $(progressbar).show();
        $(progressLabel).show();
         
         
        if('undefined' !== typeof pro && pro > $.WebfanDesktop.o.progress){
            $.WebfanDesktop.o.progress = pro;
        }


        if($.WebfanDesktop.o.progress >= 100){
           $.WebfanDesktop.o.progress = 99;
           if($.WebfanDesktop.o.readyStack.length > 0)$.WebfanDesktop.o.progress -= $.WebfanDesktop.o.readyStack.length;
        }
        if($.WebfanDesktop.o.progress < 0)$.WebfanDesktop.o.progress = 1;
       

          $(progressbar).progressbar({
                  value : $.WebfanDesktop.o.progress,
                    create: function(event, ui) {
                     for(var j = 0; j < $(this).WebfanDesktopTheme().css.length; j++){
  if($(this).WebfanDesktopTheme().css[j].selector === '.ui-widget-header'){
  $(this).find('.ui-widget-header').css('background-color', $(this).WebfanDesktopTheme().css[j].value );
     break;
  }
  }
                     
                    }
          });
           
         
     $(document).ready(function(){
        if(false === uhrTimer.is($.WebfanDesktop.o.ids.TIMER_READY)){
             uhrTimer.add($.WebfanDesktop.o.ids.TIMER_READY, function(){
             frdl.wd().checkReady();
         });  
   }    
      });    



} catch(err){
console.error(err);
}
         
       
       return $.WebfanDesktop.bootReady;
  };
 
 
 
 
 
 
 
     
 
 
 
 
 
 
      this.checkReady = function(){
         var i = 0, WD = frdl.wd();
         
         if('undefined' === typeof  WD.bootReady)WD.bootReady=false;
         if('undefined' === typeof  WD.o)return WD.bootReady;
         
         
 $(WD.o.doms.progress ).progressbar({value : WD.o.progress  });
 
         if(  'undefined' === typeof $($wd_opt_destination_locale).locale
           
           ){
            return false;
  }
                 
       
       

       for(i=0;i<WD.o.readyStack.length;i++){
         
  if(null === WD.o.readyStack[i] || true===WD.o.readyStack[i]()){
WD.o.readyStack.splice(i,1);
               i--;
               WD.o.readyStack = frdl.filterArray(WD.o.readyStack, function(el){
                return (null !== el && 'function' === typeof el);
               });
               WD.o.progress += (WD.o.processFactor * 1);
}
else{
WD.bootReady = false;  
}
 }
          $(WD.o.doms.progress ).progressbar({value : WD.o.progress  });
          if(WD.o.readyStack.length > 0)return false;
         
         
             var handleState = function(state){
             switch (state) {
                  case "loading":
                      $.WebfanDesktop.bootReady = false;
                      break;
                  case "interactive":
                     
                      $.WebfanDesktop.bootReady = false;
                      break;
                 case "complete":
                     try{
  uhrTimer.remove($.WebfanDesktop.o.ids.TIMER_READY);
            $.WebfanDesktop.bootReady = true;
                          $.WebfanDesktop.o.progress = 100;
                          $($.WebfanDesktop.o.doms.progress ).progressbar({value : $.WebfanDesktop.o.progress  });
                      $('.img-ajax-loader').hide();
                      $( $.WebfanDesktop.o.doms.progress_label  ).hide();
                      $( $.WebfanDesktop.o.doms.progress ).hide();
                          $('.abs window ui-draggable ui-resizeable window_stack').show();
                          $('.abs icon').show();
                          $('#menu_top').show();
                          $.WebfanDesktop.translate();
          $.WebfanDesktop.o.progress = 0;  
          }catch(err){
           console.warn( 'Error: ' + err);
          }

   
                 break;
             }  
  };
         
         
         document.onreadystatechange = function () {
           handleState(document.readyState);
         };

         
          handleState(document.readyState);
      return WD.bootReady;      
  };
 
 
 
 
 

Wenn mich nicht alles täuscht verweist library.js:8:8147 lediglich auf die Fehlerbehandlung selbst (Console Object):
Code:
originalConsole.log(message );

Method checkReady gehört zum Objekt $.WebfanDesktop, welches an dieser Stelle eigentlich korrekt instanziert sein soll und scheinbar auch existiert, aber irgendwie nicht in diesem dem fehlerhaften Scope?
Vor der "Instanzierung" existiert das gleichnamige Object als Proxy zwecks späterem Lazy-Load. (jQuery $.lazy Plugin)

Wenn ich auf das Icon "User" klicke oder den Klick trigger, scheint $.WebfanDesktop wieder vorhanden und die Anwendung (in diesem Test-Fall klick System->Theme wechseln) "funktioniert" wieder plötzlich.

Ich habe auch Verständnis wenn jemand keine Lust hat sich mein Problem anzuschauen, ich habe schliesslich keine konkrete Frage nur hier halt ein Debug-Problem, ich frage trotzdem mal nach, möglicherweise kann mir jemand auf die Sprünge helfen.

Wenn nötig poste oder verlinke ich gerne weiteren Code!?

Testen kann man den Code z.B. hier http://test.freizeittreffen.de/admin/ oder hier (klick auf "Workspace") http://shell.frdl.de/
Die beiden Seiten unterscheiden sich dahingehend, daß der "workspace"/desktop bei ersterer per default geladen wird plus eine Applikation.

...

Guten Rutsch!


EDIT: Warning: Method checkReady of overloaded object and magic method __call is not defined! library.js:8:8147
Code:
var OverloadableObject = _ObjectFlow().inherit(_ObjectFlow, _ObjectFlow);

OverloadableObject.__proto__.__noSuchMethod__ = function(name, args) {
   if('function' === typeof this.__call)return this.__call.call(name, args);
   
   console.warn('Method ' + name + ' of overloaded object and magic method __call is not defined!');
   
};
Mh, es ist aber eigentlich gar nicht vorgesehen, das $.WebfanDesktop.checkReady() von OverloadableObject vererbt wird?
Antworten
#2
Wenn ich die "Application Composer" App von der Crossdomain aufrufe ist die Anwendung nach wie vor fehlerhaft.

Ich bin allerdings dem Problem ein gutes Stück näher gekommen:
Die Wrapper-Funktion zum Zugriff auf dass $.WebfanDesktop Objekt war fehlerhaft.

Code:
_.wd = function(m){
  try{
        if('function' === typeof $.WebfanDesktop.toggleDesktop && true===m){
            $.WebfanDesktop.toggleDesktop();
        }else{
            if('function' !== typeof $.WebfanDesktop.toggleDesktop)$.WebfanDesktop({});
          }

         return $.WebfanDesktop;    
   }catch(err){
      console.warn(err);       
      return $.WebfanDesktop;    
   }        
};
Irgendwie noch nicht optimal. Zunächst ist $.WebfanDesktop({}) eine Proxy-Funktion, nachdem ersten Aufruf wird das eigentliche Objekt erstellt und dann "$.WebfanDesktop is not a function".
Ich benutze dieses Objekt hier auch nicht so richtig im Sinne von jQuery.
Antworten
#3
Code:
_.wd = function(m){

  try{

        

        if('function' === typeof $.WebfanDesktop.toggleDesktop && true===m){
            $.WebfanDesktop.toggleDesktop();
        }else if('function' !== typeof $.WebfanDesktop.toggleDesktop && ( 'undefined'!== typeof m || frdl.Dom.isVisible('desktop'))){
            $.WebfanDesktop(('object'===typeof m)?m:{});
          }

    
    
         return $.WebfanDesktop;    
   }catch(err){
      console.warn(err);       
      return $.WebfanDesktop;    
   }        
};
Antworten
#4
Hi Till,

Läuft es damit? Oder hast Du weiterhin die Fehler?

Gruß Arne
Antworten
#5
Hallo Arne,
wie gesagt bin ich die Sache (ständig) am updaten, z.B. bin ich jetzt dabei angularjs einzubeziehen und die Geschichte in Components (widget specification) aufzuteilen und so vieles mehr...
Ich werde also mich also in Zukunft noch bestimmt mit einigen Fragen (in einem neuen Thread) melden u.U..

Die aktuelle Frage des Threads hat sich jedoch wie gesagt geklärt und ich habe den Thread mit "erledigt" markiert.

Viele Grüße
Till
Antworten
#6
...achaja Zusatz:
- Wenn Du bei mir noch Fehler entdeckst, wäre ich natürlich dankbar, da ich einen "progressiven" Browsercache habe, solltest Du ggf. aber vorher den Browsercache löschen um die aktuelle version zu haben.

Viele Grüße
Till
Antworten
#7
Zitat:Läuft es damit?
Ja, danke! Smile
Antworten


Gehe zu: