在不同的.js文件之间传递变量

时间:2013-06-18 15:17:07

标签: javascript jquery html

我在html文档中有2个.js文件,如下所示:

    <script type="text/javascript" src="js/1.js"></script>
    <script type="text/javascript" src="js/2.js"></script>

该文档也有iframe。我在iframe中也有2个.js:

    <script type="text/javascript" src="js/2.js"></script>
    <script type="text/javascript" src="js/3.js"></script>

所以2.js在两个文件中。我的计划是将它们连接起来。 我不能把3.js放在两个文件中,因为它会弄乱东西。

1.js得到了一个变量。我想在3.js中使用该变量但我无法弄清楚如何将变量从1.js传递到3.js. 这甚至可能吗?

*变量在1.js。

中声明

4 个答案:

答案 0 :(得分:11)

您不能通过文件引用“传递”变量。您需要添加代码以将数据从父框架传递到iframe。

如果变量是全局变量,那么

//from the iframe
var theVariable = window.parent.yourVaraibleName;

//from the parent
var theVariable = document.getElementById("iframeId").contentWindow.yourVaraibleName;

答案 1 :(得分:3)

为什么不使用jQuery cookie来传递变量?即使在多个页面内。传递变量后,您可以销毁cookie。

答案 2 :(得分:2)

您无法将变量从一个js文件传递到另一个js文件 Javascript变量为stateless,因此不会保留。 如果您使用的是.Net,则可以使用Session变量来解决此问题。 如果你使用MVC,你可以去viewbag或viewdata。 如果它必须在主页中声明一些变量,则分配要传递给主页中变量的值,然后调用3.js中传递此参数的函数。

答案 3 :(得分:1)

jus创建一个全局变量,不要使用var关键字

myGlobal = "probably not a good idea but still";