我的Javascript函数受到已定义的另一个JS函数的影响

Mic*_*alB 1 html javascript css

我有<head>标签中定义的CSS和JS函数(不是由我自己创建)的HTML/CSS/JS页面.页面在开头和下面显示标题,有四个选项卡由CSS样式定义,使用JS动态工作.然后我想添加我自己的JS函数,它应该加载onload:

<script type="text/javascript"> 
    function replaceSrc()
    {
        document.getElementById("ytplayer").src = "blablabla";
    }
    window.onload = replaceSrc;
</script>
Run Code Online (Sandbox Code Playgroud)

但是,在运行页面时,CSS/JS生成的所有内容都会消失(仅保留页面标题).

所以我的问题是:

  1. 可能是已经定义了一个正在加载的JS函数的问题onload
  2. 如果是这样,如何处理?

我已经尝试将函数声明放在HTML中的不同位置,从标记中删除并放入标记,但仍然无效.

Den*_*ret 7

当您(或其他人)使用window.onload = someFunction时,您将删除所有先前附加的加载事件处理程序.

你应该使用addEventListener:

window.addEventListener('load', replaceSrc);
Run Code Online (Sandbox Code Playgroud)

如果您想与旧的IE浏览器兼容,请使用

if (window.addEventListener){
  window.addEventListener('load', replaceSrc, false);
} else if (window.attachEvent) {
  window.attachEvent('onload', replaceSrc);
}
Run Code Online (Sandbox Code Playgroud)

编辑:从您的评论,似乎您正在尝试更改由另一个来源的另一台服务器提供服务的iframe的src.由于原始政策相同,您无法执行此操作.例如,请参阅此相关问题:使用跨域更改src Iframe