2009-10-23 25 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

相關問題