2015-05-01 2 views
1

У меня есть JavaScript, который открывает новое окно при нажатии кнопки. Он работает нормально. Но я хочу, чтобы перенаправлял родительское окно (т. Е. Текущую страницу) после открытия нового окна.Открыть дочернее окно и перенаправить родительское окно

Вот мой сценарий:

<script type="text/javascript"> 
function OpenWindow() { 
    window.open('/My_Folder/file.php', 
       'newwindow', 
       config='height=670,width=1400,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,directories=no,status=no'); 
} 
</script> 

И кнопка:

<input type="button" value="Submit" onclick="OpenWindow()"> 

Итак, для того, чтобы иметь возможность перенаправлять окно Родитель, после того, как новое окно выскочило я добавил простую линию к моему JS функции:

<script type="text/javascript"> 
function OpenWindow() { 
    window.open('/My_Folder/new_file.php', 'newwindow', 
       config='height=670,width=1400,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,directories=no, status=no'); 
} 

setTimeout(1000, '/My_Folder/PHP/file_2.php'); 
</script> 

Значение, после того, как новое окно выскочило, Материнскую ветер ow должно перенаправить через 1 секунду.

Но по какой-то причине он не работает.

Онлайн-поиск дал мне решения для ситуаций, связанных с обратным: перенаправить родительское окно после закрытия дочернего окна.

Я хочу перенаправить родительское окно после открытия нового (дочернего) окна.

UPDATE

До сих пор, я попробовал эти 3 способа:

(a) <script type="text/javascript"> 
    function OpenWindow() { 
    window.open ('/My_Folder/new_file.php', 'newwindow', 
    config='height=670, width=1400, 
    toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, 
    directories=no, status=no'); 
    window.top.location.href = '/My_Folder/PHP/file_2.php' 
    } 
    </script> 


(b) <script type="text/javascript"> 
function OpenWindow() { window.open('/My_Folder/file.php','newwindow',   
config='height=670,width=1400,toolbar=no,menubar=no,scrollbars=no, 
resizable=no, location=no,directories=no,status=no'); 
settimeout(function(){document.location='/My_Folder/PHP/file_2.php'}, 1000  
); 
} 
</script> 


(c) <script> 
    function OpenWindow() { 
    window.open ('/My_Folder/new_file.php', 'newwindow', 'height=670, 
    width=1400, toolbar=no, menubar=no, scrollbars=no, resizable=no, 
    location=no, directories=no, status=no'); 

     window.location = '/My_Folder/PHP/file_2.php'; 
    } 
    </script> 

Из всех этих, никто не работает.

Но (б) является лучшим решением до сих пор, потому что, по крайней мере, она открывает новые (Child) Окно, как это должно быть. Но, это еще не перенаправить родительского окна: (((

+0

Я не знаю много JavaScript, но не следует, чтобы строка 'setTimeout' включала * внутри * определение функции, а не после этого? – dg99

ответ

1

Попробуйте это:

<script type="text/javascript"> 
function OpenWindow() { window.open('/My_Folder/file.php','newwindow', 
      config='height=670,width=1400,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,directories=no,status=no'); 
settimeout(function(){document.location.href='/My_Folder/PHP/file_2.php'}, 1000); 
} 
</script> 

Moves установить в функцию и правильно ее использовать, и говорит о том, что окно изменится на новое местоположение.

+0

Хммм ............. это не сработало. Открылось новое (дочернее) окно, как и должно быть. Но .......... родительское окно не перенаправлялось на новое место. – phpnewbie2015

+0

Приносим извинения, это должно быть document.location.href = '/ ...'; Я отредактирую ответ, если он позволит мне. – serverSentinel

+0

Спасибо :) Это помогло – phpnewbie2015

0

Мой javasrcipt разве слишком жарко, но это не работает

<script type="text/javascript"> 
function OpenWindow() { 
    window.open ('/My_Folder/new_file.php', 'newwindow', 
     config='height=670, width=1400, 
     toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, 
     directories=no, status=no'); 
    window.top.location.href = '/My_Folder/PHP/file_2.php' 
    } 


</script> 
+0

Спасибо Рохит. Но ваш код дал мне синтаксическую ошибку. Не должно быть скобок и полуколока где-то здесь: '/My_Folder/PHP/file_2.php' ??? – phpnewbie2015