我正在开发一个扩展,其中我需要以不同的方式生成网站的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。
由于
答案 0 :(得分:5)
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>