2015-04-06 3 views
1

Я хотел бы сделать следующее в своем приложении через javascript.Как открыть URL-адрес на уже существующей вкладке браузера?

1) Нажмите кнопку с веб-страницы, которая открывает всплывающее окно.

2) Выберите некоторые параметры всплывающего окна и примите их.

3) Измените содержание того, что находится на первой веб-странице, в соответствии с тем, что было выбрано во всплывающем окне и измените его. Запрос GET является приемлемым, и, если возможно, всплывающее окно с выбранными параметрами снова должно быть сверху, либо путем ввода его сверху, либо путем открытия нового с теми же параметрами.

Я думаю, что javascript должен каким-то образом сохранить имя вкладки браузера, которые вы открываете, а затем, если хотите, открыть новый URL-адрес или поместить один поверх другого, но я не могу их найти. Параметры window.open не похожи на то, что они могут это сделать.

Любая идея о том, как достичь этой цели? Спасибо за ваше время.

+0

Что вы пробовали? Можете ли вы разместить любой соответствующий код, который поможет другим ответить на вопрос? –

ответ

1

Вы можете попробовать метод window.opener во всплывающем окне, чтобы перейти на главную страницу. Информация о высоком уровне здесь: http://www.w3schools.com/jsref/prop_win_opener.asp, но если вы Google, то есть примеры.

Мы сделали это для проекта, и он работает, с некоторыми оговорками:

  1. Междоменные в основном не работает, если у вас есть несколько доменов, вы должны получить более творчески.
  2. Будьте осторожны, кросс-браузер, а также, мы должны были добавить некоторые пользовательские Javascript для обработки

В принципе, то, что вам нужно сделать на главной странице определить глобальный Javascript метод, который делает то, что вы хотите его (он может принимать параметры). Затем, во всплывающем окне, вы можете вызвать его с помощью window.opener.MethodNameHere();

Теоретически, если вам нужно обрабатывать перекрестный браузер, вы можете попробовать использовать postmessage, который, как мне кажется, поддерживается только в html5 (есть плагины для html4), но, вероятно, было бы сложно получить это право в этом случае и я не уверен, как это сделать с моей головы.

Смежные вопросы