2009-10-23 34 views
0

我有一个完全写成html/js的应用程序(没有服务器)。使用JavaScript,我想从另一个域中检索脚本并将其内容作为字符串获取。我不想评估剧本。有没有可以使这成为可能的破解?从JavaScript内部,我怎么能加载一个脚本从另一个域作为一个字符串?

+0

谢谢大家。我希望有一种方法可以在没有任何服务器支持的情况下完成,但听起来这是不可能的。 – lowellk 2009-10-25 16:48:30

回答

3

我不这么认为。如果有办法,这将违反跨域下载的禁令。我想有一种方法可以通过在浏览器上正确配置安全性来放松这些限制,但由于浏览器依赖性,这种方式很麻烦,不可靠。您将不得不在服务器上执行此操作。

1

您不能。浏览器实现的跨域安全模型阻止了这一点。您需要通过您的域中的另一台服务器作为可以为您访问远程资源的代理。

2

听起来像JSONP对我来说。

+1

是的,虽然这听起来像是无法回避:) – ChrisR 2009-10-23 19:40:26

1

这绝对有可能。而不是使用jQuery或其他实现JSONP技术的库,自己实现JSONP!

有几个步骤,但最后跳过“eval”部分。相反,你想用JavaScript字符串该怎么办...

一个很好的深度文章是很难找到,但这里有一个我很快就发现:

http://niryariv.wordpress.com/2009/05/05/jsonp-quickly/

JSONP其实,一个漂亮的聪明的技巧。学习它只是为了它的乐趣是值得的!

祝你好运

+0

我忘了,其他域上的脚本也应该是JSONP友好的 – 2009-10-24 19:50:30

相关问题