2016-02-03 4 views
0

Итак, я пробовал несколько способов автоматического перенаправления вещей, которые я загружаю в iframe на одной из моих страниц, и они всегда, похоже, запускают родительское окно для перезагрузки/перенаправления, а не имеющий iframe, направленный в нужное место.window.location предотвратить iframe от перенаправления родительского окна

Я знаю, что большинство людей хотят, чтобы наоборот, когда они были сделаны в iframe, они хотят, чтобы родительское окно перезагрузилось или направилось куда-то еще. Но в этом случае я хочу, чтобы мой скрипт перешел на другую страницу.

Есть ли встроенный механизм, который не позволит iframe перенаправлять внутри себя?

позволяет ради него притворяться код

if(someAction === true) { 
    window.location = '/some/new/path/index_new.html?param=something'; 
} 

Я также попытался это с window.top.location и window.parent.location, и я думаю, что несколько других случайных вариантов. Включая добавление .href в конец каждого варианта. С отказом кажется, что родительское окно iframe всегда перенаправляется вместо фактического самого iframe, как можно надеяться.

Функция Iframe простой IFrame

<iframe src="/original/path/index.html"></iframe>

скрипт, который будет искать для перенаправления IFRAME встроен в /original/path/index.html

+0

еще одна вещь, стоит отметить, что я могу физически нажать на ссылку в встраиваемой источник моего '/ оригинал/путь/index.html' и ссылка направляет штраф в IFRAME. Его просто, когда я пытаюсь автоматически перенаправить его, я, кажется, сталкиваюсь с какой-то проблемой. Неожиданно – chris

ответ

0

Да есть. Пожалуйста, разместите свой код или фрагмент кода, чтобы мы могли видеть, с чем вы работаете. Я использовал iframe для сайта, который открыл три разные страницы с родительской страницы в одном и том же фрейме и использовал куки-файлы, чтобы идти туда и обратно с данными. Однако, пожалуйста, покажите некоторые html divs и/js, чтобы мы могли видеть, как вы хотите, чтобы он работал. Вот некоторые из кодов для моей работы. Я использую Локальное хранение данных

function Redirect($page) { 
     localStorage.setItem('page',$page); 
      window.location="validateorder.htm"; 

      } 

    function orderValidate($page) { 
     localStorage.setItem('page',$page); 
     $arr = $('iframe').contents().find('form').serializeArray(); 

     $.each($arr,function(i,v){ 
      createCookie(i,v); 
     }); 


     window.location="ordersummary.htm"; 
    } 

$(document).ready(function(){ 
    $('iframe').load(function() { 
     $page = localStorage.getItem('page'); 
     $subtotal = localStorage.getItem('subtotal'); 
     $tax = localStorage.getItem('tax'); 
     $total = localStorage.getItem('total'); 
     $table = $('iframe').contents().find('td#optionsPrice'); 

     $form = $('iframe').contents().find('#frmContact'); 
     $theform = $('iframe').contents().find('#theform'); 

     if($table.length > 0){ 
      $('iframe').contents().find('td#optionsPrice').text($subtotal); 
      $('iframe').contents().find('td#tax').text($tax); 
      $('iframe').contents().find('td#totalPrice').text($total); 
     } 

     if($form.length > 0){ 
      $form.find('input').each(function(){ 
       $name = $(this).attr('name'); 
       $type = $(this).attr('type'); 
       if($type != 'button'){ 
        $(this).val(readCookie($name)); 
       } 
      }); 
     } 
Смежные вопросы