我在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。
中声明答案 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";