帧间JavaScript通信? (在同一个域上)

时间:2012-05-19 13:25:12

标签: javascript html frames

自从我上次将<frameset>输入我的编辑器以来已经很多年了,但今天我发现自己就是这么做了。

我正在编写一个使用框架的小工具。在一个框架中,我有一个带有文本输入的文档,而在另一个框架中,我有一个<ul>个项目。当我在一帧中输入文本字段时,我需要显示/隐藏另一帧中<ul>的项目。从历史上我记得这可行。但是今天尝试一下,Chrome正在挥舞着摇摇晃晃的声音:

  

不安全的JavaScript尝试使用URL文件访问框架://localhost/Users/chris/multi_yardoc/projects/list.html来自URL文件://localhost/Users/chris/multi_yardoc/projects/menu.html。域,协议和端口必须匹配。

<script>
  $(document).ready(function() {
    $("#search-box").bind("keyup", function() {
      $("li[class*='object-']", top.frames["list"].document).hide();
      $("li[class*='object-" + $(this).val() + "']", top.frames["list"].document).show();
    });
  });
</script>

错误对我没有意义,因为域,协议和端口都匹配。我如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

Chrome对文件协议网址具有特殊的相同域策略。见Unsafe JavaScript attempt to access frame in Google Chrome