javascript

Using NoScript Firefox Extension to Quickly Find Out What 3rd Party Services a Website is Using

Submitted by kai on Wed, 2007-10-03 21:00. ::

NoScript is a great Firefox extension that lets you hand-pick which web sites to be allowed to use JavaScript, Java, and Flash. You can surf online safer and faster(because of fewer JavaScripts running).

Another cool thing about it is that by looking at what domains NoScript allows and blocks(right-click on the "S" icon), you get an idea of what kind of services a website uses. BTW, you can just look at the HTML page source codes to find out what JavaScripts are loaded if you have too much time.

For example, you can see my site loads JavaScripts from "google-analytics.com","performancing.com", "crazyegg.com"(all 3 are web analytics services), "meebo.com"(the Meebo chat widget).

Cross Domain AJAX Requests(XMLHttpRequests) Using Dojo's ScriptSrcIO and JSON

Submitted by kai on Sun, 2006-12-03 00:34. ::

Due to browser security restriction, one can't make AJAX request to domains other than the domain that the Javascript was originally downloaded from.

But you can still do cross-domain AJAX requests because dynamic cross-domain loading of scripts is allowed. It's very easy to do that via Dojo's ScriptSrcIO and JSON because.

Dojo's Wiki has all the details for the client-side Javascript implementation. But the instruction leaves out a critical piece: what's expected out of the server-side service.

Let me complete the picture.

ContentPane: the widget you absolutely must/have to know about Dojo

Submitted by kai on Thu, 2006-09-21 22:59. ::

I've been using Dojo Javascript toolkit(version 0.3.1) for a while to develop AJAX web applications.

My experience so far indicates that ContentPane is the most important widget in Dojo which you should absolutely need to learn about when you start using Dojo.

One of the very basic usages in AJAX is to load content from remote servers without refreshing the whole page.

ContentPane provides all the nice features to do that:

  • load content by setting the innnerHTML of the pane through function setContent
XML feed