javascript中的变量

时间:2011-02-06 13:02:52

标签: javascript google-chrome-extension

我正在开发一个扩展,其中我需要以不同的方式生成网站的URL。这是我正在使用的代码的结构

<script>
var URL="";
function genURL(){
URL="xyz";
}
</script>
<body onload="genURL()">
<iframe id="if1" src="abc"></iframe>
</body>
<script>
document.getElementById("if1").src=URL;
</script>

上面的代码是错误的,因为我无法访问脚本代码中的元素if1高于定义,并且URL在下面的脚本代码中不可用。如果我们可以在下面的脚本代码中访问URL,我的问题将得到解决。或者有没有办法直接在iframe中生成URL。

由于

2 个答案:

答案 0 :(得分:5)

您在设置iframe URL时未设置

src。如果您首先调用genURL,那么您的代码将起作用。但是,设计代码会好得多:

function getURL() {
    return "xyz";
};

...

document.getElementById('if1').src = getURL();

答案 1 :(得分:1)

您创建了一个为URL赋值的函数,但您从不调用该函数,因此代码已创建但未执行。有几种方法可以解决这个问题。一个是大卫的方式。另一种方法是在函数外部为URL赋值:

<script>
URL="xyz";
</script>

<iframe id="if1" src="abc"></iframe>
<script>
document.getElementById("if1").src=URL;
</script>