我花了 3 天时间试图解决这个简单的问题。我想要的只是让我的整个网站记住winversion
全局变量值并能够从函数中更改它。(是的,我知道全局变量比 darthwader 更邪恶,但请这是我生命中唯一的好事)
我有一个带有 .html 的 html 文件<iframe>
,当用户在里面点击时,我将不同的页面(来自我的域)加载到该<iframe>
.
这是我的 index.html (它周围有几个 div,<iframe>
但我很确定这无关紧要,因为其他一切都有效,而 javascript 仅适用于此<iframe>
)
<script type="text/javascript" src='script.js'></script>
---------- ( some inner body html , not important)----------------
<iframe id="myiframe" src="mainproblems.html" >
默认的 iFrame 页面有这个 html 代码
<a href="#" onclick="setwinver('xp')";>I have Windows XP </a>
<a href="#" onclick="setwinver('win7')";> have Windows 7/Vista </a>
我的 script.js 是这个
// This is supposed to be my global variable to hold windows version value
var winversion ;
// This function (I officially hate it now) is supposed to change
// winversion variable based on what user clicked on the iFrame
function setwinver(ver)
{
//so now winversion should either have xp or win7 assigned
winversion=ver;
}
但后来,<iframe>
当我尝试winversion
在同一个 JavaScript 文件中读取时,它显示未定义。navigatenow()
当用户在第 1 页选择 windows 版本并在下一个 html 页面中单击链接以启动 msconfig 描述页面(加载在 中)时触发此功能<iframe>
。
function navigatenow()
{
if (winversion == "xp")
{
window.location.href=("msconfigxp.html");
}
else
{
window.location.href=("msconfig7.html");
}
}
我努力了:
使用 / 不使用
var
.使用/不使用单引号,双引号(尽管我知道这没什么区别)。
阅读了十几篇关于吊装的文章。
使用 persistjs 几个小时。
冥想和祈祷!
没有任何效果。该死的winversion
变量仍然像我存在的目的一样未定义。
我想要的只是让我的 html 文件记住用户选择的 windows 版本(不,我无法以编程方式检测 windows 版本,我询问用户版本的目的是不同的)。
任何帮助将不胜感激解决此问题,如果没有,请建议一个合适的悬崖,我可以从中跳下。