首先 你这个click事件是绑定到页面上的元素了吧 那说明你在执行click事件的时候(也就是改变scrpt src属性的时候)整个html文档已经加载完毕,既然已经加载完毕 那对于script标签 作为文档的一部分 对src的修改只能是静态的修改(也就是只把字符串a.js换成了b.js),引用的文件内容是无法替换的。就算是能改变引用的内容 但是文档都已经加载完毕了 你这段新的js也没有机会再加载执行了 代码用不了所以也没啥意义。至于解决办法 要看具体是怎样的应用场景,可以在改变src之后window.refresh刷新;也可以不用onclick 在执行a.js的时候就在<script src="a.js">之后紧接着插入<script src="b.js">.
然后你要判断下
1)实现你的需求 非要 改变 scr吗?
2)改变src能实现需求吗?
恩 考虑不周~ window.refresh这个方法不可取。
三楼说的有道理 。
对于这种替换文件引用 没有通用的解决办法 要看具体需求。
不知道你是什么需求 应该有其他方法实现需求。
恩 考虑不周~ window.refresh这个方法不可取。
三楼说的有道理 。
对于这种替换文件引用 没有通用的解决办法 要看具体需求。
不知道你是什么需求 应该有其他方法实现需求。我想要的是个html页面打开默认是调用1.JS文件的输出内容。但用户点击按钮后就切回成2.JS文件输出的内容
如
1.html打开默认显示1.JS的document.writeln输出内为“你好”
当用户点击按钮后就切回成2.JS的document.writeln输出内为“再见”
比如
开头默认是加载
1.JSfunction aa()//默认这些这个程序
{
var a='<div style="height:15px;line-height:15px; font-size:14px;text-align:center;width:"'+w+'";"><a href="#" onclick="javascript:aa1();" title="">11</a></div>';
swfobject.embedSWF(xx,xx,xx,xx,a1)//这是另外1个JS文件里面的代码程序调用这个带ID位置输出
document.getElementById("a2").innerHTML=a;
}function aa1()
{
var a='nnn';
swfobject.embedSWF(xx,xx,xx,xx,a1)//
document.getElementById("a2").innerHTML=a;
}
点击aa1()时a2的内容改变了但a1的内容没改变这是为什么了
我开头以为2.js文件的程序加载后只自行1次。但我把aa1()的a1改成其他又调用到。不过A1的内容还留在HTML上面不知道有什么方法使得A1的内容能改变到