我最近遇到了JavaScript中的foo.toSource()選項。這允許一個函數的序列化。 我想知道通過網絡傳輸功能的可能性,從服務器到客戶端,並在以後執行 - 用eval()。將函數從服務器傳遞到客戶端
你認爲它確實有用嗎?
有沒有使用這種範例的框架?
我最近遇到了JavaScript中的foo.toSource()選項。這允許一個函數的序列化。 我想知道通過網絡傳輸功能的可能性,從服務器到客戶端,並在以後執行 - 用eval()。將函數從服務器傳遞到客戶端
你認爲它確實有用嗎?
有沒有使用這種範例的框架?
將函數從服務器傳遞到頁面可以在不使用toSource的情況下完成,只需在服務器上生成頁面時將其放入代碼中,或者在需要時通過AJAX請求。
謝謝!是的,我想到了你在說什麼,這導致我的下一個問題/奇蹟:是否有可能通過它的關閉來傳遞函數?你認爲這種功能會有用嗎? – Ofri
1)'toSource()'是IE瀏覽器,請參閱[此問題]的答案(http://stackoverflow.com/questions/171407/implementing-mozillas-tosource-method-in-internet-explorer)for在其他瀏覽器中的實現。 2)'toSource'與你所問的問題有什麼關係? –
我建議你不要使用eval();它很慢,並且如果代碼是用戶生成的,則會導致XSS風險。 –
謝謝。我的問題更具理論性。我並不是想說明爲什麼要這樣做(toSource只是一種序列化通過網絡傳輸的函數的可能方式)。 – Ofri