lowellk
lowellk

Reputation: 2057

From within javascript, how can I load a script from another domain as a string?

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?

Upvotes: 1

Views: 1232

Answers (4)

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

Upvotes: 1

Andreas Köberle
Andreas Köberle

Reputation: 111042

Sounds like JSONP for me.

Upvotes: 2

Peter Bailey
Peter Bailey

Reputation: 105916

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.

Upvotes: 1

mfeingold
mfeingold

Reputation: 7134

I 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

Upvotes: 3

Related Questions