当前位置: 首页 > 编程日记 > 正文

在HTML网页中巧用URL

http://www.cnbruce.com/blog/showlog.asp?cat_id=5&log_id=657

首先,先放出一个地址给大家测试

http://cnbruce.com/test/htmlpro/?name=cnbruce&email=cnbruce@126.com

1,时下流行的(可能是吧,因为最近问的人比较多)就是没有任何文件名的URL地址。比如htmlpro/?其实这和服务器设置的默认文件名有关,比如index.htm,index.html,index.asp等等,不信你试试我朋友的一个(asp的)。

http://www.windsn.com/blog/?viewType=byCate&cateID=3

2,本处的文件为index.html,同时后面带有参数,页面效果如同ASP一般提取信息内容。

如下是转载的文章(作者刘筱)可以说明些东西


经常上网的朋友肯定对“ http://host/***.asp?arg1=*&arg2=*  ”之类的URL(即网址)不会陌生。这类网址的作用就是通过在URL后面附加信息内容来传递相关信息给远程Web服务器,并在Web服务器进行适当处理后将结果返回给客户端,从而达到网页交互的目的,并实现网页内容动态化。(注意: URL与信息内容之间通过“?”连接,各内容字段之间则通过字符“&”来分隔,每个字段的名称/取值表示为“名称=取值”形式。)但通过这种方式实现的动态网页均需要服务器端编程技术的支持,最近笔者在制作个人网站时利用浏览器支持的DHTML和XML技术,经过不断尝试,在免费主页空间通过这种方式实现动态网页。

一、原理分析

当浏览器通过http://remotehost/program?querystring  这种方式请求Web服务器时,Web服务器将对请求地址的URL进行解析,把“?”后面的querystring字符串存入服务器特定环境变量,然后调用服务器端编程执行环境,如ASP(Activex Server Page)等对请求program文件进行处理。

具体调用何种编程执行环境依据服务器的设置而定,如果请求的文档是asp类型的文件,则调用ASP,如是aspx类型文件,则调用ASP.NET。在program文件中则可以通过一定方法来读取环境变量,如asp文件就可以通过Reques.Querystring数据集合来读取环境变量。编程执行环境处理完毕后将结果返回给Web服务器,Web服务器再将结果返回给浏览器,从而达到网页内容动态化的目的。

通过上述分析我们可以知道,如果使用http://remotehost/*.htm?querystring  方式向Web服务器发送请求时,Web服务器将向浏览器直接返回请求的HTML网页。这时我们就可以在网页中利用Location.href属性获得附加了信息内容的URL串,经过适当处理后就可以得到所附加的信息内容字段名称及其取值,再通过浏览器支持的DHTML特性进行处理,就可以实现网页内容动态化,从而在不支持服务器端编程技术的免费主页空间上达到网页交互的目的。

我们也可以看出,通过这种方式达到网页动态交互的目的即使是在浏览器中实现也仍然摆脱不了Web服务器的支持,否则浏览器将把“?querystring”作为请求的URL的一部分,从而出现网页不能查看的错误提示。

二、应用示例

---下面给出了一个带有详细注释的具体示例源代码。注意: querystring.js是一个实用程序,它可以在网页中直接引用,然后在网页中使用Request[“名称”]即可获取用户输入的有关信息内容。

1.querystring.js源代码


function QueryString()
{//构造参数对象并初始化
var name,value,i;
var str=location.href;//获得浏览器地址栏URL串
var num=str.indexOf("?")
str=str.substr(num+1);//截取“?”后面的参数串
var arrtmp=str.split("&");//将各参数分离形成参数数组
for(i=0;i < arrtmp.length;i++){
num=arrtmp[i].indexOf("=");
if(num>0){
name=arrtmp[i].substring(0,num);//取得参数名称
value=arrtmp[i].substr(num+1);//取得参数值
this[name]=value;//定义对象属性并初始化
}
}
}
var Request=new QueryString();//使用new运算符创建参数对象实例


2.Sample.htm源代码


<Html>
<Head>
<Meta http-equiv="Content-Type"content="text/html; charset=gb2312" >
<Title>示例</Title>
<script src="Querystring.js"></script>
</Head >
<Body>
<script>
var newElement=document.createElement("div");//创建div对象
var str="<u>"+Request["name"]+"</u>,欢迎光临!<br>您的E-mail是:<u>"+Request["email"]+"</u>";//利用实例["字段名称"]获取参数内容
newElement.innerHTML=str;
document.body.appendChild(newElement);//向文档添加div对象
</script>
</Body>
</Html>



如果对该示例应用DHTML与XML技术进行扩充,将会取得不可思议的效果。该作者就是通过这种途径在只支持纯HTML的主页空间建立了一个相当不错的动态图片查看器

所以,各位,实践下咯。

相关文章:

《iOS 8应用开发入门经典(第6版)》——第1章,第1.6节小结

本节书摘来自异步社区《iOS 8应用开发入门经典&#xff08;第6版&#xff09;》一书中的第1章&#xff0c;第1.6节小结&#xff0c;作者 【美】John Ray&#xff08;约翰 雷&#xff09;&#xff0c;更多章节内容可以访问云栖社区“异步社区”公众号查看 1.6 小结iOS 8应用开发…

用Visual C#创建Windows服务程序

一&#xff0e;Windows服务介绍&#xff1a; Windows服务以前被称作NT服务&#xff0c;是一些运行在Windows NT、Windows 2000和Windows XP等操作系统下用户环境以外的程序。在以前&#xff0c;编写Windows 服务程序需要程序员很强的C或C功底。然而现在在Visual Studio.Net下&a…

poj 3321 Apple Tree

树状数组 题意&#xff1a;一个树&#xff0c;以树枝连接两个点的形式给出&#xff0c;固定以1为整棵树的根。苹果长在树的节点上&#xff0c;节点上只可能0或1个苹果&#xff0c;一开始每个节点都有1个苹果 有两种操作&#xff0c;C表示更改某个节点的苹果数&#xff0c;0变1,…

人工智能在网络贷款中鲜为人知的事

作者 | Laksh Mohan翻译| 火火酱~&#xff0c;责编 | 晋兆雨出品 | AI科技大本营头图 | 付费下载于视觉中国现在&#xff0c;科技已经成为推动企业发展壮大的基本要素之一。人工智能&#xff08;AI&#xff09;就是一个证明此类技术在商业领域走红的好例子&#xff0c;比如网络…

《HTML5与CSS3实战指南》——2.5 构建The HTML5 Herald

本节书摘来自异步社区《HTML5与CSS3实战指南》一书中的第2章&#xff0c;第2.5节,作者&#xff1a; 【美】Estelle Weyl , Louis Lazaris , Alexis Goldstein 更多章节内容可以访问云栖社区“异步社区”公众号查看。 2.5 构建The HTML5 Herald 我们已经介绍了页面结构的基础以及…

用.NET创建Windows服务

用.NET创建Windows服务 译者说明&#xff1a;我是通过翻译来学习C&#xff03;的&#xff0c;文中涉及到的有Visual Studio.NET有关操作&#xff0c;我都根据中文版的VS.NET显示信息来处理的&#xff0c;可以让大家不致有误解。作者&#xff1a;Mark Strawmyer 我们将研究如何…

BGP local-preference MED属性实验

实验拓扑 实验配置 建立两个AS 65001、65000 AS65000内跑OSPF&#xff0c;并在R1上发布三个网段100.1.1.1 100.1.2.1 100.1.3.1 在R3 R5上聚合后发布给R4。 每台路由器都有一个对应的loopback地址。 实验过程 <R1>dis bgp ro Total Number of Routes: 10 BGP Local route…

加速产业生态算力升级,华为鲲鹏展翅福州

11月20日&#xff0c;为了让更多开发者了解鲲鹏计算生态体系&#xff0c;并且助力行业人才培养&#xff0c;由福建鲲鹏生态创新中心、福州市大数据基地开发有限责任公司联合举办的鲲鹏开发者训练营圆满完成。此次活动现场吸引到了大量的开发者参与&#xff0c;产、学、研各界人…

《CCNP TSHOOT 300-135认证考试指南》——2.2节故障检测与排除及网络维护工具箱

本节书摘来自异步社区《CCNP TSHOOT 300-135认证考试指南》一书中的第2章&#xff0c;第2.2节故障检测与排除及网络维护工具箱&#xff0c;作者 【加】Raymond Lacoste , 【美】Kevin Wallace&#xff0c;更多章节内容可以访问云栖社区“异步社区”公众号查看 2.2 故障检测与排…

在linux系统下实现音视频即时通讯的部分代码

由于使用习惯,Linux在中国受欢迎程度远不如windows&#xff0c;相应的软件也比较少&#xff0c;尤其是音视频类的软件&#xff0c;但是&#xff0c;这并不代表就完全没有。下面介绍一款强大的音视频即时通讯平台给大家&#xff0c;它就是——Anychat for Linux SDK。AnyChat是一…

文本分类六十年

作者 | Lucy出品 | AI科技大本营文本分类是自然语言处理中最基本而且非常有必要的任务&#xff0c;大部分自然语言处理任务都可以看作是个分类任务。近年来&#xff0c;深度学习所取得的前所未有的成功&#xff0c;使得该领域的研究在过去十年中保持激增。这些文献中已经提出了…

web service 和 remoting 有什么区别

其实现的原理并没有本质的区别&#xff0c;在应用开发层面上有以下区别&#xff1a;1、Remoting可以灵活的定义其所基于的协议&#xff0c;如果定义为HTTP&#xff0c;则与Web Service就没有什么区别了&#xff0c;一般都喜欢定义为TCP&#xff0c;这样比Web Service稍为高效一…

《实施Cisco统一通信管理器(CIPT1)》一2.4 使用分布式呼叫处理的多站点WAN部署模型...

本节书摘来异步社区《实施Cisco统一通信管理器&#xff08;CIPT1&#xff09;》一书中的第2章&#xff0c;第2.4节&#xff0c;作者&#xff1a; 【美】Dennis Hartmann译者&#xff1a; 刘丹宁 , 陈国辉 , 卢铭 责编&#xff1a; 傅道坤, 更多章节内容可以访问云栖社区“异步社…

【转】 LDA必读的资料

时间总是不够用&#xff0c;这里就不自己写了&#xff0c;摘自一篇转发的博客&#xff0c;感觉挺有用&#xff01; 一个大牛写的介绍&#xff0c;貌似需FQ http://tedunderwood.wordpress.com/2012/04/07/topic-modeling-made-just-simple-enough/David M.Blei主页&#xff1a;…

sizeof 操作符详解

1. 定义&#xff1a; sizeof是何方神圣&#xff1f; sizeof 乃 C/C 中的一个操作符&#xff08;operator&#xff09;是也。简单说其作用就是返回一个对象或者类型所占的内存字节数。 MSDN上的解释为&#xff1a; The sizeof keyword gives the amount of storage, in bytes, a…

石锤!谷歌排名第一的编程语言,死磕这点,程序员都收益

日本最大的证券公司之一野村证券首席数字官马修汉普森&#xff0c;在Quant Conference上发表讲话&#xff1a;“用Excel的人越来越少&#xff0c;大家都在码Python代码。”甚至直接说&#xff1a;“Python已经取代了Excel。”事实上&#xff0c;为了追求更高的效率和质量&#…

《关系营销2.0——社交网络时代的营销之道》一T表示Technology(技术)

本节书摘来异步社区《关系营销2.0——社交网络时代的营销之道》一书中的第1章&#xff0c;作者&#xff1a; 【美】Mari Smith 译者&#xff1a; 张猛 , 于宏 , 赵俐 责编&#xff1a; 陈冀康, 更多章节内容可以访问云栖社区“异步社区”公众号查看。 T表示Technology&#xff…

jquery拖拽实现UI设计组件

想做一个UI设计的组件&#xff0c;左侧是控件列表&#xff0c;右边是编辑区域&#xff0c;左侧的控件可以重复拖拽到右侧然后进行编辑。 效果草图&#xff1a; 部分js代码&#xff1a; function domop(){//set drag and drop $( "#compls .component" ).each(functi…

六年磨一剑,全时发布音视频会议平台TANG,多款新品亮相

作者 | 高卫华出品 | AI科技大本营时隔六年&#xff0c;全时于11月26日在北京举办了“时间的力量2020新产品发布会“。发布会现场&#xff0c;全时创始人&CEO陈学军回顾了全时近年来的发展历程&#xff0c;并正式推出了全时云会议2020版&#xff0c;全时小智和全时云直播三…

考察新人的两道c语言题目

1> 如何判断一个板子的cpu 是big-endian 还是 Little&#xff0d;endian的&#xff1f;用c实现非常简单&#xff0c;10行左右&#xff0c;就可以判断了&#xff0c; 关键考察新人是否了解了什么是endian &#xff0c;big-endian与little-endian的区别在哪里&#xff0c; 如果…

《Adobe After Effects CC经典教程》——导读

前 言 After Effects CC提供了一套完整的2D和3D工具&#xff0c;动态影像专业人员、视频特效艺术家、网页设计人员以及电影和视频专业人员都可以用这些工具创建合成图像、动画和特效。After Effects被广泛应用于电影、视频、DVD以及Web的后期数字制作之中。After Effects可以以…

scanf()函数的用法和实践

scanf()函数的用法和实践摘要&#xff1a; 本文阐述了基于ANSI&#xff0c;Win 95&#xff0c;Win NT上的 C/C语言中scanf()函数的用法&#xff0c;以及在实际使用中常见错误及对策。 关键词&#xff1a; scanf()一、 序言 在CSDN论坛的C/C版块&#xff0c;我时常见…

邢波出任全球第一所AI大学校长,履历横跨三门学科

整理 | 高卫华出品 | AI科技大本营近日&#xff0c;世界上第一家研究型人工智能大学——Mohamed bin Zayed University of Artificial Intelligence&#xff0c;简称MBZUAI大学&#xff08;MBZUAI&#xff09;&#xff0c;任命著名华人AI学术教授邢波为校长。据悉&#xff0c;首…

Ubuntu 10.10 安装 libx11-dev

今天&#xff08;2013-04-11&#xff09;尝试安装 ImageMagick&#xff0c;结果发现 config.log 文件中包含了如下错误信息&#xff1a; fatal error: X11/Xlib.h: No such file or directory 也就是说缺少了 libx11-dev 包&#xff0c;心想这有什么难的&#xff0c;直接通过 a…

《计算机组成原理》----2.6 浮点数

本节书摘来自华章出版社《计算机组成原理》一书中的第2章&#xff0c;第2.6节&#xff0c; 作 者 Computer Organization and Architecture: Themes and Variations&#xff3b;英&#xff3d;艾伦克莱门茨&#xff08;Alan Clements&#xff09; 著&#xff0c;沈 立 王苏峰…

javascript/dom:原生的JS写选项卡方法

来源:http://www.jb51.net/article/30108.htm <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html xmlns"http://www.w3.org/1999/xhtml"><head><meta http-…

CSDN 星城大巡礼,长沙“科技之星”年度企业评选正式开启

2020年&#xff0c;长沙市委主要领导发出“软件产业再出发”的号召&#xff0c;颁布了软件三年行动计划。今年5月&#xff0c;CSDN 作为专业的 IT 社区&#xff0c;与长沙高新区签约&#xff0c;将全国总部落户长沙&#xff0c;这一战略决策&#xff0c;让CSDN与长沙的联结进一…

Linux下用C获取当前系统时间

#include <time.h> time_t time(time_t calptr); 返回的是日历时间&#xff0c;即国际标准时间公元1970年1月1日00 : 00 : 00以来经过的秒数。然后再调用 char *ctime(const time_t calptr) ; 转化为字符串表示 #include <stdio.h> #inc…

Java程序猿的JavaScript学习笔记(12——jQuery-扩展选择器)

计划按例如以下顺序完毕这篇笔记&#xff1a;Java程序猿的JavaScript学习笔记&#xff08;1——理念&#xff09; Java程序猿的JavaScript学习笔记&#xff08;2——属性复制和继承&#xff09; Java程序猿的JavaScript学习笔记&#xff08;3——this/call/apply&#xff09; J…

关于动态规划,你想知道的都在这里了!

作者 | Your DevOps Guy翻译| 火火酱~&#xff0c;责编 | 晋兆雨出品 | AI科技大本营头图 | 付费下载于视觉中国什么是动态规划&#xff1f;它又有什么重要的呢&#xff1f;在本文中&#xff0c;我将介绍由Richard Bellman在20世纪50年代提出的动态规划&#xff08;dynamic pro…