Как Вы отправляете на iframe?

257
задан pnuts 17 September 2015 в 06:16
поделиться

1 ответ

Зависит, что Вы подразумеваете "под данными сообщения". Можно использовать атрибут HTML target="" на <form /> тег, таким образом, это могло быть столь же просто как:

<form action="do_stuff.aspx" method="post" target="my_iframe">
  <input type="submit" value="Do Stuff!" />
</form>

<!-- when the form is submitted, the server response will appear in this iframe -->
<iframe name="my_iframe" src="not_submitted_yet.aspx"></iframe>

, Если это не он, или Вы после чего-то более сложного, отредактируйте свой вопрос включать больше детали.

существует известная ошибка с Internet Explorer, который только происходит, когда Вы динамично создаете свой iframes, и т.д. с помощью JavaScript (существует обходное решение здесь ), но если Вы используете обычную разметку HTML, Вы в порядке. Целевые имена атрибута и кадра не являются некоторым умным взломом ниндзя; хотя это удерживалось от использования (и поэтому не проверит) в Строгом HTML 4 или Строгий XHTML 1, это была часть HTML с тех пор 3.2, это - официально часть HTML5, и это работает в примерно каждом браузере начиная с Netscape 3.

я проверил это поведение как работающий со Строгим XHTML 1, Переходный XHTML 1, Строгий HTML 4 и в "режиме причуд" без DOCTYPE, определенного, и это работает во всех случаях с помощью Internet Explorer 7.0.5730.13. Мой тестовый сценарий состоит из двух файлов, с помощью классического ASP на IIS 6; они воспроизводятся здесь полностью, таким образом, можно проверить это поведение для себя.

default.asp

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC
  "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
  <head>
    <title>Form Iframe Demo</title>
  </head>
  <body>
  <form action="do_stuff.asp" method="post" target="my_frame">
    <input type="text" name="someText" value="Some Text" />
    <input type="submit" />
  </form>
  <iframe name="my_frame" src="do_stuff.asp">
  </iframe>
  </body>
</html>

do_stuff.asp

<%@Language="JScript"%><?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC
  "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
  <head>
    <title>Form Iframe Demo</title>
  </head>
  <body>
  <% if (Request.Form.Count) { %>
  You typed: <%=Request.Form("someText").Item%>
  <% } else { %>
  (not submitted)
  <% } %>
  </body>
</html>

мне очень было бы интересно слышать о любом браузере, который не выполняет эти примеры правильно.

397
ответ дан Community 23 November 2019 в 02:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: