фреймы и перенаправление - PullRequest
       19

фреймы и перенаправление

0 голосов
/ 08 октября 2008

У меня есть веб-страница (скажем, www.example.com/a.asp) .. У меня есть фрейм на этой странице, который загружает страницу с другого веб-сайта (www.example.net/b.asp) .. Этот b.asp задает пользователю несколько вопросов, а результаты публикуются в c.asp на моем веб-сайте (www.example.com/c.asp). Эта страница (www.example.com/c.asp) загружается в iframe. Есть ли способ, чтобы я мог перезагрузить всю веб-страницу и перенаправить на другую страницу, когда я получу ответ от www.example.net. Извините, если этот вопрос сбивает с толку, Любые вопросы, пожалуйста, дайте мне знать.

Ответы [ 4 ]

0 голосов
/ 25 октября 2008

Как упомянуто выше, вы можете использовать «_top» в целевом объекте для формы или использовать JavaScript на странице результатов, чтобы проверить, является ли она «верхней» страницей. При прочих равных условиях лучше избегать JavaScript, поскольку он не будет работать, если на клиенте отключены сценарии.

0 голосов
/ 08 октября 2008

Ммм, не уверен, правильно ли я вас понял. Вы действительно имеете в виду, когда вы получили ответ от abc.com, а не от своего собственного веб-сайта?

Кажется, что тег формы в HTML имеет атрибут target для загрузки ответа на указанную (например, _top) цель после отправки данных:

http://de.selfhtml.org/html/referenz/attribute.htm#form (немецкий)

Не уверен, действительно ли я ответил на ваш вопрос. Разве я?

Приветствие Matthias

0 голосов
/ 08 октября 2008

Если у вас нет контроля над ресурсом, загруженным во фрейм, вы не можете перенаправить его с помощью HTTP, поэтому вы придерживаетесь JavaScript.

Учитывая ту же политику происхождения, я думаю, что лучшее, что вы можете сделать, это определить, когда новый документ загружается в iframe.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<title>test of iframe</title>
<iframe width="500" height="400" src="http://example.net/">
  <p><a href="http://example.net/">See The Example Site</a></p>
</iframe>
<script type="text/javascript">
        window.onload = function () {
                document.getElementsByTagName('iframe')[0].onload = function () {
                        window.alert('Document loaded in frame');
                }
        }
</script>

Затем вы можете установить window.location (возможно, после подсчета количества срабатываний события)

0 голосов
/ 08 октября 2008

Если я правильно понимаю, я думаю, что вы можете установить цель для сообщения c.asp быть "_top". Это должно перезагрузить всю страницу, вытащив вас из iframe. Ваша страница c.asp должна обрабатывать требуемое перенаправление.

В качестве альтернативы, перенаправление, которое требуется странице c.asp, может быть нацелено на сам «_top», если вы не можете изменить страницу, на которой публикуются данные.

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