I have an application which is written entirely as html/js (there is no server). Using javascript, I would like to retrieve a script from another domain and get its contents as a string. I do not want to evaluate the script. Is there any hack which can make this possible?
views:
76answers:
5I do not think so. If there were a way, it would violate the ban of cross domain downloads. I guess there is a way to relax these limitations by properly configuring the security on the browser, but it is messy and unreliable among other things because of browser dependencies. You will have to do it on the server
You can't. The cross-domain security model implemented by browsers prevents this. You'd need to go through another a server on your domain as a proxy which can access the remote resource for you.
Do it with Ajax! Personally, I like using jQuery wherever I can. Here's an article that describes exactly what you want to do.
http://jquery-howto.blogspot.com/2009/04/cross-domain-ajax-querying-with-jquery.html
However, you do need to have some server-side component for it to work. Even just a wee bit of PHP should do the trick.
Hi,
It's definitely possible. Instead of using jQuery or other libraries that implements the JSONP technique, implement JSONP yourself!
There's a few steps, but at the end, skip the "eval" part. Instead do what you want to do with the javascript string...
A nice in depth article is hard to find but here's one I quickly found:
http://niryariv.wordpress.com/2009/05/05/jsonp-quickly/
JSONP is in fact, a pretty clever technique. Learning it just for the fun of it is worthwhile!
Good luck