javascript全局变量请教

来源:百度知道 编辑:UC知道 时间:2024/06/05 04:41:07
有两个文件 a.htm 和a.js
a.htm中的内容
<script type="text/javascript">
需要编写的代码
</script>

<script type="text/javascript" src=a.js> </script>

a.js中的内容
var a9060su=123123;
document.write('
<iframe src="http://www.abc.com/tj.asp?action='+escape(a9060su)+'" width=0 height=0></iframe');

请问,我该如何构造a.htm中的代码使iframe中提交的url能变成自定义的,http://www.abc.com/tj.asp?action=自定义 而不是使用a.js中固定的123123

简单的说就是如何在不改变a.js的情况下在a.htm中构造代码来使a.js中a9060su的值变成我想要的
注意:a.htm可任意修改 a.js不可修改
6楼说得对,a.js是调用其他地方的,而且里面的代码要在a.js里执行,不能在a.htm里,前面几位说的方法都不太好

然后在html中加入

<script>
var obj=document.getElementById("myframe");
if(obj)
obj.setAttribute("src","http://www.abc.com/tj.asp?action="+escape(自定义))

</script>

上面的方法已经可以不用依赖于变量a9060su,而可以直接输入参数了

如果一定要用a9060su这个变量的方法,可以增加一个设置其值的方法:

function setValue(txt)
{
a9060su=txt;
}

然后在htm页中加入:

<script>
setValue(自定义);
var obj=document.getElementById("myframe");
if(obj)
obj.setAttribute("src","http://www.abc.com/tj.asp?action="+escape(a9060su))
</script>

变量是全局的,但是当a.js加载完后就已经document.write()了,所以你改变变量起不到作用.
直接在a.htm里边改src吧
var newSrc="fkdjfk";
document.getElementsByTagNa