0

我想在渲染开始后立即在 iframe 中执行 javascript 代码,而不是在加载文档时。目的是我想修改在内联脚本块内执行的框架内的 javascript 行为。onload-event 将在内联脚本之后执行,这为时已晚。html开始加载后如何执行javascript?

4

4 回答 4

2

假设您试图从其他帖子中删除 yahoo iframe 中的 javascript 代码,则您无法更改不在您域中的 iframe 内的任何内容。

于 2009-09-27T22:48:58.710 回答
1

无需将代码放在 onload 中,只需将其放在脚本中即可。例如,而不是

<script>
  function doStuff(){
    // ...
  }
</script>
<!-- snip -->
<body onload="doStuff();">

你应该这样做:

<script>
  function doStuff(){
    // ...
  }
  doStuff();
</script>
<!-- snip -->
<body>
于 2009-09-27T22:49:57.920 回答
1

您可以将脚本内联,但要非常小心。如果页面未完全加载并且您尝试访问 DOM,则可能会遇到异常。一般来说,我真的不建议您使用内联脚本。最好自己控制执行流程,而不是依赖浏览器的行为。如果可能,最好寻找将内联脚本移动到允许您对调用进行排序的函数的方法。

于 2009-09-28T01:10:47.357 回答
0

在这种情况下,Onload 对您不起作用。如果这些页面是你自己的,你可以在每个页面的标题中放置一个脚本,检查当前窗口是否是父窗口。如果它不是父窗口,则意味着它是 iframe。如果它是 iframe,则执行代码。

于 2012-08-19T11:56:34.343 回答