是否可以使用Javascript从另一帧改变一个帧?

时间:2011-10-17 16:35:14

标签: javascript

好的,关于这个主题已经有很多讨论,但我还没有找到答案(例如,请参阅Unsafe JavaScript attempt to access frame in Google ChromeUnsafe JavaScript attempt to access frame with URL)。

这是我的情况:

我有一个名为index.html的文件,如下所示:

<frameset>
   <frame src="a">
   <frame src="b">
</frameset>

然后'a'看起来像这样:

<script language='javascript'>document.domain = document.domain</script>
<img src='whatever.jpg' id='foo'/>

'b'看起来像这样:

<script language='javascript'>
<!--
setTimeout(function() {
document.domain=document.domain
document.write('top domain is ' + document.domain)
  document.domain = document.domain
  top.a.document.images['foo'].src = 'something.jpg'
}, (5 * 1000));
//-->
</script>

简而言之:a是一个包含单个图像的框架。 b是一个应该自动更改图像链接的src属性的框架。但Chrome很不开心!

(请注意,我根据以下评论添加了“document.domain = document.domain”行。)

(另请注意,帧'b'中​​的5秒延迟是获得呼叫的有效URL所必需的。)

根据Chrome js调试器,这导致“不安全的javascript尝试访问url”。根据Stack Overflow上关于此错误的其他讨论,我不清楚是否有任何条件允许我这样做。这些文件(索引,a,b)在我的机器上完全是本地的。所以不应该对来自不同领域的他们产生任何担忧。

有什么想法吗?很抱歉重新发布,但我已经找到了明确的答案......

0 个答案:

没有答案
相关问题