Welcome!

Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

Java Development

Reply
Regular Contributor
Posts: 51
Registered: ‎01-13-2011
My Device: 9800
My Carrier: vodaphone

Re: BrowserField2 : javascript redirect (window.location.href) issue

still i am getting elegalstate exception
Vishal Lakhmapurkar
Regular Contributor
Posts: 51
Registered: ‎01-13-2011
My Device: 9800
My Carrier: vodaphone

Re: BrowserField2 : javascript redirect (window.location.href) issue

 

 i have a browserfeld and a bitmap field ,

Prestored image will display on bitmap field until the page load, after page load replace bitmapfiled with browserfield and load the page properly, i over ride following methods :

document loaded,created,eror  etc....

My problem is:

1:when i click in inner page link like a page contains a link that i found i gives me elegal state or uncaught exception (:--inner link redirect page on another link ).

2: i used solution above link write _bf.setFocus() in invokeand wait method. but after it page does first page will load properly but inner page will load .

 

here my codeof my protocol controller

class MyBrowserFieldListener extends BrowserFieldListener{

            public void documentLoaded(BrowserField browserField, Document     document) throws Exception {
                final int kpiIdx = selKpiIdx;
                super.documentLoaded(browserField, document);

                // Logger.debug("Request url = " + browserField.getDocumentUrl());
                // Logger.debug("Request url2 = " + _browserField.getDocumentUrl());
               
                // process only document loaded for last request
                if(_bf2 == browserField){
                   
                   
                    //isTakingScreenShot = true;
                   
                    /*
                    String url = browserField.getDocumentUrl();
                    if(url == null || url.indexOf("localhost") >= 0){
                        return;
                    }
                    */
                   
                    Logger.debug("----------- Documented loaded --------");
                    // Dialog.alert("Documented loaded");
                     if(!bfVisible && isInternetActive){
                         //_bf2.removeListener(this);
                         Logger.debug("----------- Documented loaded 2--------");
                         // bfm.setFocus();
                         /*
                         bfm.deleteAll();
                         Logger.debug("----------- Documented loaded 3--------");
                         bfm.add(_bf2);
                         */
                        
                        
                         // _browserField.removeListener(this);
                         UiApplication.getUiApplication().invokeAndWait(new Runnable() {
                            public void run() {
                                //Dialog.alert("loaded");
                                bfm.deleteAll();
                                 bfm.add(_bf2);
                            }
                        });
                        
                         bfVisible = true;
                         Logger.debug("----------- Documented loaded 4--------");
                     }
                    
                     try{
                         originalCw = _bf2.getContentWidth();
                        
                         Logger.debug("loaded originalCw content width  = " + originalCw);
                         //  Logger.debug("loaded content width  = " + originalCw);
                         // Logger.debug("============ content width = " + browserField.getContentWidth());
                         // Logger.debug("============ pre width = " + browserField.getPreferredWidth());
                         // Logger.debug("============ bf virtual width = " + browserField.getVirtualWidth());
                         // Logger.debug("============ bf visible width = " + browserField.getVisibleWidth());
                         // Logger.debug("============ bf width = " + browserField.getWidth());
                         // Logger.debug("============ display width = " + Display.getWidth());
                        
                        
                        
                         // scaling
                         if(originalCw > sw){
                             // float scaleFactor = ((float)sw)/originalCw;
                             // currScale = scaleFactor;
                             // minScale = scaleFactor;
                             float scaleFactor = 0.1F;
                             if(isOS6){
                                 scaleFactor = ((float)sw)/originalCw;
                             }
                            
                            synchronized (UiApplication.getEventLock()){
                                 _bf2.setZoomScale(scaleFactor);
                                 _bf2.invalidate();
                                 // updateStatus(2);
                                doPaint();
                                invalidate();
                            }
                         }
                     }catch(Exception e){
                         Logger.error("scaling", e);
                     }                       
                
                     Logger.debug("----------- Documented loaded 5--------");
                    
                     // remove activity indicator
                     try{
                         //spinnerView.cancelled();
                         //header.delete(spinnerView);
                         //header.add(favBitmap);
                     }catch(Exception e){}
                    
                     boolean isFocus = dataBitmapField.isFocus();
                     // enable data grid button
                     if(!isFocus){
                         dataBitmapField.setBitmap(Bitmap.getBitmapResource("img/data.png"));   
                     }
                     // dataBitmapField.setEnabled(true);
                     if(isInternetActive){
                         isWebDataEnable = true;
                     }
                    
                     Logger.debug("----------- Documented loaded 6--------");
                    
                    
                     // capture the image
                     if(pageCount == 0){
                          try {
                             Thread.sleep(2000);
                            Backlight.setTimeout(255);
                         } catch (Exception e) {
                             Logger.error("Backlight needed", e);
                         }
                         if(UiApplication.getUiApplication().getActiveScreen() != KpiWebView.this) return;
                        
                         Logger.debug("----------- Documented loaded 7--------");
                        
                        // synchronized (UiApplication.getEventLock()){
                         UiApplication.getUiApplication().invokeLater(new Runnable() {
                            public void run() {
                                if(kpiIdx == selKpiIdx) {
                                    Logger.debug("----------- Documented loaded 8--------");
                                   if(!_bf2.isFocus()){
                                       captureImg.storeKPIImage(_bf2, selKpi.kpiId);
                                   }
                                 }  
                            }
                        });
                     }
                    
                     Logger.debug("----------- Documented loaded 9--------");
                    
                     // menuViewData = true;                    
                     pageCount++;
                     // linkVec.addElement(_browserField.getDocumentUrl());
                    
                     //isTakingScreenShot = false;
                }
                
            }
           
            public void documentError(BrowserField browserField,  Document document) throws Exception{
                Logger.debug("------- documentError : " + document.toString());
                super.documentError(browserField, document);
            }
            public void documentCreated(BrowserField browserField,
                    ScriptEngine scriptEngine, Document document)
                    throws Exception {
                super.documentCreated(browserField, scriptEngine, document);
                    String baseURL = "";
                  
                      
                       UiApplication.getUiApplication().invokeAndWait(new Runnable() {
                        public void run() {
                            if(bfVisible){
                                _bf2.setFocus();   
                                Logger.debug("setfocus on browser end");
                               
                            }
                         
                        }
                    });                      
                      
                    //}
                      
                }
               
           
           
        }

 

Vishal Lakhmapurkar
Highlighted
Regular Contributor
Posts: 51
Registered: ‎01-13-2011
My Device: 9800
My Carrier: vodaphone

Re: BrowserField2 : javascript redirect (window.location.href) issue

I think no one in this forum to solve this type of problem. 

 

Vishal Lakhmapurkar
Regular Contributor
Posts: 51
Registered: ‎01-13-2011
My Device: 9800
My Carrier: vodaphone

Re: BrowserField2 : javascript redirect (window.location.href) issue

Still waiting for response from any body Man Sad

Vishal Lakhmapurkar