Запретить браузеру загружать пользовательский набор фреймов в документ iframe - PullRequest
1 голос
/ 24 августа 2011

Я пытался связать два iframes из одного домена, которые загружены на страницу из другого домена.

Проблема в том, что браузер создает пользовательский frameset по содержанию iframe.Я не могу получить имена iframe из iframe, используя parent.iframes [x] .name , потому что сценарий обращается к frameset в качестве родителя.

Ниже приведен мой действительный HTML-код -

<html>
 <head>
 </head>
 <body>
  <p>iframe1</p>
  <script type="text/javascript">
  var frames = parent.frames;
  for(var i=0; i < frames.length; i++)
  {
    if(frames[i].name != "undefined")
      alert(frames[i].name);
  }
  </script>    
 </body>
</html>

Ниже приведен список, сгенерированный браузером -

 <!--inside iframe-->
 <html>
  <head></head>
    <frameset border="0" rows="100%,*" cols="100%" frameborder="no">
       <!--actual document goes inside frame tag-->
      <frame name="TopFrame" scrolling="yes" noresize="" src="http://abnormalz.stuffshake.com/fframe.html">
     <frame name="BottomFrame" scrolling="no" noresize="">
     <noframes></noframes>
   </frameset>
</html>

Есть ли какое-либо решение этой проблемы?

Вы можете проверить тест на http://stuffshake.com/parent.html

1 Ответ

1 голос
/ 04 декабря 2011

Просто используйте localStorage или sessionStorage.Поскольку оба iframe принадлежат одному домену, они используют один и тот же localStorageLocalStorage отправляет события, если значение было изменено.

Поддерживается с IE8.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...