1
爲了以異步的方式從我的服務器加載外部js文件,而不是等待它們加載到html頭部或body的末尾,我使用jquery。 get()方法來檢索那些js文件作爲一個字符串,轉換成具有的eval(對象),並分配給全局變量作爲屬性,即(僞):評價服務器js文件危險
var globalNameSpace = {};
var data = jquery.get('url/foo.js'); // foo.js returns a function with code
globalNameSpace[foo] = eval(data);
// from here onwards, access code in foo.js as:
globalNameSpace.foo.property;
globalNameSpace.foo.method();
這也意味着我可以顯示一個HTML帶有加載條的頁面等。
問題是,eval()的所有炒作對於不受控制的輸入都是危險的,因爲這只是加載「受控」(儘管可能是bug gy:P)腳本從我自己的服務器(ajax相同的域策略等),這是如何更簡單地包含帶有標籤的js文件,我錯過了什麼?
爲什麼不簡單地使用'.getScript()'? http://api.jquery.com/jQuery.getScript/ – nrabinowitz
這是安全的。你只需要在DOM中注入一個'