Pages

Friday, June 29, 2012

stack trace javascript

stack trace in javascript
This was requirement in my current project, where i need to log real JavaScript error. Most of the time i was getting my javascript error was giving line numbers of jquery main javascript files but error was somewhere else so I decided to trace js error.


this is simple code you can try to trace. you can write green block of code wherever you want to trace.
you can also write a plugin or a common function and call where ever you want.

this is simple demo of understanding tracing error. 

I found a gud link for arguments object. this is very simple page which will make u understand arguments object.

http://www.seifi.org/javascript/javascript-arguments.html


<script>
function funcallee ()
{
    var trace ="", currentFunction = "";             
    try{
         currentFunction = arguments.callee.caller;                                       
           while (currentFunction) {
                 var fn = currentFunction.toString();                 
                 var fname = fn.substring(fn.indexOf("function"), fn.indexOf(")") +1 ) || 'n/a';                                       
                trace = trace + ' --> '+ fname;                    
                 currentFunction = currentFunction.caller;
           }
    }catch (e){
        trace= "";
    }     
    alert (trace);       
}             
             
function testcaller_1()
{
    try{
    var h = j;
    alert (h);
    }
    catch(e){
        funcallee();
    }
}          

function testcaller_2()
{
    testcaller_1();   
}
   
testcaller_2();


</script>

Monday, June 18, 2012

access denied javascript error internet explorer / resize access denied error javascript

Access denied JavaScript error in internet explorer
Initially i was thinking this error was coming because of some ajax cross domain access. Usually when you try to access different domain from your site, it gives you error for cross site scripting.

after long time, I found and observed that this access denied error is coming when i am trying to resize my internet explorer browser. It was random not all times.

I read below article and observed access denied error is coming only when i use to click mouse button and hold it for a while (just like dragging mouse ).

the reason is windows stops resizing or moving of any window when your mouse is clicked and hold on (ready for mouse drag event).

few tips to avoid this error on resize.
1. do your resize on page load not on jquery ready function.
    - because ready is faster then page load function. this may avoid user's holding mouse for a while.




see below article. this will be also helpful.

http://support.microsoft.com/kb/904947

Friday, June 15, 2012

reading cookie in asp .net set by coldfusion

1. cookie has special characters
2. unable to read cookie  in asp.net set by coldfusion
3. how to replace special characters in cookie coldfusion asp.net
4. replace special characters in cfcookie

:) this was a good issue for us. we have two application, one in coldfusion and other in asp.net

Coldfusion application was setting a cookie and that cookie was supposed to read by asp.net application. 
cookie set by coldfusion was url encoded and it was having %2b characters for "+" sign so when asp.net was reading cookie as %2b signs so we were not able to validate users based on cookie read by asp.net application.

so at last we figured out this and found browser is storing cookie in url encoded format and asp.net application needs to decode cookie.

we used below code in asp.net to decode cookie set by coldfusion.



cookieValue= HttpUtility.UrlDecode(myCookie.Value);


 Few tips:
1. always use F12 developer tool to see all set cookie in internet explorer. 


finally we solved problem :)
 

Thursday, June 14, 2012

cfflush not working in coldfusion

tiny observation for cfflush

cfflush will not work in body of many tags, custom tags, cfqueries, may be in CFC.
I was in need of flushing all data before I wants coldfusion to sleep for 2 minutes so i can copy all data to compare but  cfflush was giving me error then i realized cfflush is not suppose to give data from above mentioned scenarios.

Be careful with cfflush tag, there are few more restrictions it will not allow to save client variables immediate after cfflush tag.


Friday, June 1, 2012

components for any application / framework for any application


We have always discussion with my mates on components for any application. What components are needed for any application or what should be a good framework for any application in terms of its basic working.  I believe it really depends on project, requirement, priorities, team members, team head and company policies. 

every project has its own need. Some one wants to make project more technical and more dynamic so a big list will be good but it comes on cost of lots of plugin and sharing resource and page load. 
I really don't agree that we need all below components in any application because it all depends on your requirement.  I will suggest some of them because its definitely required for any robust/scalable application.

I prefer these mainly these components. 
Application property, Caching, logging, Error handling, application debugger, message handler, processing manager, session manger.     

List of all components for an application: 

1. Application init / load
        This can be used for initializing your application or loading your application.

2. Application property  
       This can be used for initializing your application or loading your application.

3. Application caching (application data)
       This can be used for caching for data 

4. Application logging (Audit)
       This can be used for logging for an application.  

5. Application analytics (user behaviour)
      This can be used for analytics data for users and their behaviour.

6. Error handling  (error report / error notification / error  handling)
      This can be used for error handling.

7. Security login system
      This can be used for login system

8. Security role system
      This can be used for role system for an application 

9. Application debugger
      This can be used for debugging application even in production level. this will help in debugging data,    
       user remote information/request/response/timings/performance/caching/session information.

10. Application maintenance    
        This can can be used for maintenance of application, outage, temporarily unavailable kind of things.

11. Email system of application  (postOffice)
          This can be used for email requirements of a application

12. Message handler
         This can be used for messaging in application. Displaying success / failure messages for users actions.

13. Processing/loader handler
       This can be used for displaying loader/processing screen/section for any application    

14. Object manager (Coldspring/spring)
    This can be used for managing objects

15. Validator Rules engine
     This can be used for validation part of data

16. Transient object manager
      -- not really an application component but i am including just if you want to include so.

17. Helper manager
     This can be used for tooltips, icon tips or any kind of tips you want to show for any page

18. Remote manager 
     This can be used for remote services.

19. UDFs
      This can be used for a place where you can have lots of user defines functions.

20. Session manager
     This can be used for session of a application.

21. analytic data for web pages