6

我在 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

4 回答 4

11

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

如果变量是全局的,它是

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

//from the parent
var theVariable = document.getElementById("iframeId").contentWindow.yourVaraibleName;
于 2013-06-18T15:21:53.867 回答
3

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

于 2013-06-18T16:07:48.243 回答
2

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

myGlobal = "probably not a good idea but still";
于 2013-06-18T15:23:17.653 回答
2

您不能将变量从一个 js 文件传递​​给其他 Javascript 变量,stateless因此它们不会被保留。如果您使用的是 .Net,那么您可以使用 Session 变量来解决这个问题。如果您使用 MVC,您可以使用 viewbag 或 viewdata。如果必须在首页声明某个变量,然后将要传递的值分配给首页变量,然后调用3.js中的函数传递该参数。

于 2013-06-18T15:26:34.903 回答