在不同的.js文件之间传递变量;一个是在iframe内

Pass variables between different .js files; one is inside an iframe

本文关键字:一个 iframe 变量 js 文件 之间      更新时间:2023-09-26

我在html文档中有两个.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。这可能吗?

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

如果变量是全局的,则为

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

为什么不使用jQuery cookie传递变量?即使是在多个页面中。一旦你传递了这个变量,你就可以销毁这个cookie。

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

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

你不能将变量从一个js文件传递到另一个Javascript变量是stateless,所以它们不会被保留。如果你正在使用。net,那么你可以使用Session变量来解决这个问题。如果你使用MVC,你可以选择viewbag或viewdata。如果必须在主页中声明某个变量,然后将要传递的值赋给主页中的变量,然后通过此参数在3.js中调用该函数。