帧内容的jquery选择器是什么?

时间:2016-08-03 00:04:59

标签: javascript jquery html frame frameset

我需要从 main.html 中访问用户名的jQuery选择器是什么?警报应该说" Bob"。

main.html

<head>
<script>
    alert(username);  // *** not working ***
</script>
</head>

<frameset> 
  <frame name="left" src="left.html">
  <frameset> 
    <frame name="top" src="top.html">
    <frame name="right" src="right.html">
  </frameset>
</frameset>

right.html

<head>
<script>
    var username = 'Bob';
</script>
</head>

2 个答案:

答案 0 :(得分:1)

使用contentWindow属性。

示例:

document.getElementById('frame_id').contentWindow.$('#' + idOfElementInFrame);

注意:这适用于iframe标记。它也适用于frame代码,但鉴于frame代码已被弃用,您可能会遇到问题。

答案 1 :(得分:1)

There is an example:
(1)mainpage:

    <html>
    <script>
    function show(){
      var winleft = window.frames["left"];
      alert(winleft.username);
    }
    </script>
    <frameset cols="25%,50%,25%">
      <frame src="left.html" name="left">
      <frame src="left.html" name="middle">
      <frame src="left.html" name="right">
    </frameset>

    </html>

(2)left.html

<head>
<script>
    var username = 'Bob';
</script>
</head>

(3)为什么呢? 每个帧都有自己的对象“窗口”,  你应该得到框架[“左”]的“窗口”对象,变量“用户名”是框架[“左”]的窗口( winleft )对象的保护.so ,你可以得到用户名的价值。