php – 在IE(和Firefox)中处理后退按钮的最佳做法是什么
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 在IE(和Firefox)中处理后退按钮的最佳做法是什么,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2996字,纯文字阅读大概需要5分钟。
内容图文
![php – 在IE(和Firefox)中处理后退按钮的最佳做法是什么](/upload/InfoBanner/zyjiaocheng/754/356023d5623640daa1e63fc012121e50.jpg)
我在旧版本中知道这一点,但我无法弄清楚处理后退按钮的最佳做法.
我正在编写一个Web应用程序,在浏览器和后端服务器之间有大量数据移动.我目前使用post,当然当用户绕过应用程序导航并使用后退按钮IE和Firefox弹出消息询问用户是否要重新发送数据.
我尝试了“获取”,除了URL中显示的所有数据外,IE8仍会生成一条消息.
此外,我无法确定帖子何时导致消息,何时不能确定消息,因为我有测试用例发布数据,其中后退按钮不会导致消息.
我的环境是JavaScript,PHP和MySQL.
任何帮助或指向研究地点的指针都非常感谢.
编辑:
我写了3个小页来测试发布a-> b-> c-> a并且它们不会导致任何postdata消息.我不知道为什么:
一个
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>test post A</title>
</head>
<body>
<h1>testPostA.php</h1>
<h3>Came from <?php print (isset($_POST['data'])?$_POST['data']:"NoWhere"); ?></h3>
<form action="testPostB.php" method="post">
<input name="data" type="text" value="from testPostA.php" />
<input type="Submit" value="Submit To: testPostB.php" />
</form>
</body>
</html>
乙
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>test post B</title>
</head>
<body>
<h1>testPostB.php</h1>
<h3>Came from <?php print (isset($_POST['data'])?$_POST['data']:"No where"); ?></h3>
<form action="testPostC.php" method="post">
<input name="data" type="text" value="from testPostB.php" />
<input type="Submit" value="Submit To: testPostC.php" />
</form>
</body>
</html>
C
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>test post C</title>
</head>
<body>
<h1>testPostC.php</h1>
<h3>Came from <?php print (isset($_POST['data'])?$_POST['data']:"No where"); ?></h3>
<form action="testPostA.php" method="post">
<input name="data" type="text" value="from testPostC.php" />
<input type="Submit" value="Submit To: testPostA.php" />
</form>
</body>
</html>
解决方法:
Post/Redirect/Get模式将阻止重新POST警告.但是,您仍然需要注意您的应用程序可以处理/拒绝重复的表单提交等.
编辑1
对于Javascript很重的应用程序,我也看到了一些利用browser history和fragment identifiers提供与后退按钮,书签等无缝集成的设计模式.
编辑2
关于你问题的附录,很难说.可能是在某些情况下浏览器将页面缓存,并且不需要重新提交POST以再次呈现页面.您可以使用各种方法来禁用这些请求上的浏览器缓存,以查看是否可以使行为更具可预测性(即始终导致重新提交警告).无论如何,我认为遵循Post / Redirect / Get模式的Web应用程序更加用户友好,但您的里程可能会有所不同.
另外要记住的是,您可以在执行查询,生成报告等的表单上使用method =“get”.有时GET在这些只读方案中是更好的选择,因为它使您的URL方案更丰富并避免这些一些POST警告.
内容总结
以上是互联网集市为您收集整理的php – 在IE(和Firefox)中处理后退按钮的最佳做法是什么全部内容,希望文章能够帮你解决php – 在IE(和Firefox)中处理后退按钮的最佳做法是什么所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。