如何在Chrome浏览器中调用父窗口函数?

Pie*_*igi 6 javascript iframe jquery google-chrome

嗨,我惊奇地发现在Chrome浏览器中调用窗口父javascript函数时出现问题.如果我有一个窗口,其中定义了javascript函数

<script type="text/javascript">
  function dolink() {
   . . .
  }
</script>
Run Code Online (Sandbox Code Playgroud)

我在该窗口中有一个使用jquery进行此调用的iframe

<script type="text/javascript">
 $(function() {
      $('a.arglink').click(function() {
         window.parent.dolink($(this).attr('href'));
         return false;
      });
 });
</script>
Run Code Online (Sandbox Code Playgroud)

dolink函数的调用不起作用.使用chrome javascript调试器步进,似乎window.parent.dolink 未定义.这是设计还是我犯的错误?在Firefox和IE中它工作正常.

Pie*_*igi 9

终于找到了!

Chrome浏览器似乎不允许引用父窗口访问带有文件: protocol的页面.事实上,我在上面的代码中测试了我的机器上的文件,所以用的是url file:///C:/mytests/mypage.html.如果我将该页面放在Web服务器中,它将按预期工作.

  • 我有与chrome相同的问题,但没有使用文件协议,它是纯粹的http (2认同)