2012-07-29 51 views
0

我想將變量分配到全局範圍之外,並允許包含訪問這些變量的文件。這是我的:不在全局範圍文件中的變量包括

<script type="text/javascript"> 
    (function(){ 
     var cm_url = "http://test.com/mikelbring/1313-myproducthere"; 
     var cm_text = "Buy"; 
     var z = document.createElement("script"); 
     z.src = "button.js"; 
     var s = document.getElementsByTagName("script")[0]; 
     s.parentNode.insertBefore(z, s); 
    })(); 
</script> 

該腳本無法訪問變量。我可以做些什麼來使它們能夠訪問變量,但將它們排除在全局範圍之外?謝謝!

回答

0

您正在使用自動執行功能來限制這些變量的範圍。在某些情況下,您必須在全局範圍內公開,以便其他腳本可以訪問它們。

我可以建議一個簡單namespacemodule pattern

var MIKEL = { 
    cm_url: "http://test.com/mikelbring/1313-myproducthere", 
    cm_text: "Buy", 
    // etc... 
}; 

...甚至一些更標準/庫十歲上下,像RequireJSCommonJS