在网站开发过程中,有时我们只提供简单的服务,代码量不大,这时我们可以用单个页面模拟出多个页面的效果。这里提供一个思路,或者不是最好的,但能实现,希望对大家开发有点帮助。
![webapp用一个页面模拟多页面效果原理简单复制过去就能用](http://p2.ttnews.xyz/loading.gif)
![webapp用一个页面模拟多页面效果原理简单复制过去就能用](http://p2.ttnews.xyz/loading.gif)
这里是php语言开发的,测试需要php服务器。
这里只说原理,不作css美化。效果如下:
就3个页面的转跳,其实是一个页面。
直接上代码,复制就可以测试了。
ob_start();
session_start();
ini_set('display_errors','On');
//error_reporting(0);
//set_time_limit(0);//设置超时,0表示不限时
date_default_timezone_set('PRC');//中国时区
function BT($str)
{
$str=strip_tags($str);
echo '
<title>单页面写法/<title>');
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var rs=xmlhttp.responseText;
//alert(rs);
//console.log(rs);
eval(cb).apply(this,[rs]);
//---------------------------------
var html = rs;
if(!jid("script1")){
ap('
',document.body,0);/<arr.length>}
var hd=jid("script1");
hd.innerHTML='';
var re = /(?:
<style>/<style>
h3{text-align:center;}
.form1{padding:10px;text-align:center;}
.form1 input[type=button]{
padding:15px;
margin:5px;
background-color:#FF6600;
color:#FFFFFF;
}
/<arr.length>if(!empty($_GET)&&!empty($_GET["f"])){
$f=$_GET["f"];
}
else
{
$f="main";
}
$f();
?>
这是共用的脚
主要实现是$_GET["lf"]和$_GET["f"]
lf用于异步请求,如果没有异步请求,可以不要。
f就是代表页面的函数。比如?f=main,表示执行main函数,main中实现页面布局。就是这个原理。
参数用url携带,在函数中接收。
好了,今天分享这么多,不懂的可以提问。更多干货分享,关注一下我。如果本文对你有一点帮助,赏个赞呗,谢谢。
/<arr.length>閱讀更多 茂名阿信 的文章