`
happmaoo
  • 浏览: 4309602 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

在HTML网页中巧用URL

阅读更多
首先,先放出一个地址给大家测试

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(ActivexServerPage)等对请求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源代码


functionQueryString()
{//构造参数对象并初始化
varname,value,i;
varstr=location.href;//获得浏览器地址栏URL串
varnum=str.indexOf("?")
str=str.substr(num+1);//截取“?”后面的参数串
vararrtmp=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;//定义对象属性并初始化
}
}
}
varRequest=newQueryString();//使用new运算符创建参数对象实例


2.Sample.htm源代码


<Html>
<Head>
<Metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<Title>示例</Title>
<scriptsrc="Querystring.js"></script>
</Head>
<Body>
<script>
varnewElement=document.createElement("div");//创建div对象
varstr="<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的主页空间建立了一个相当不错的动态图片查看器

所以,各位,实践下咯。

转自: http://www.cnbruce.com/blog/showlog.asp?cat_id=5&log_id=657
分享到:
评论

相关推荐

    Jerkwin#Jerkwin.github.io#2014-12-21-网页祝福卡1

    title: 网页祝福卡- 科- 编程一个简单的电子贺卡, 用于测试动态网页即URL参数的使用.祝福文字参考资料动画源码在HTML网页中巧用URL 使用URL传

    小巧java爬虫框架,爬虫也可以优雅又简洁。.zip

    请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则...

    《ChatGPT AI 问答助手》项目.zip

    请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则...

    转贴ReYoPrint (锐洋WEB打印控件)是一款实现网页套打的专用工具

    作为web应用开发者,我们经常会遇到在浏览器中打印报表、票据的需求,这些需求浏览器本身的打印功能一般不能满足, 如精确打印,分页,套打等。这就需要有一种能解决常见的浏览器端打印问题的软件工具,这也是 ...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    目前市场业务中在产品以及其他项目的认证和检测方面存在诸多不便,用户需要实地考察并频繁与检测单位沟通,填写繁琐的纸质检测报告、当面送递样品,对于检测环节中存在的问题难以及时交互并处理。市场上相应的检测...

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    在HTML中我们知道可以使用meta标识来定义网页的关键字,简介等,这些标识不会显示在网页中,但可以被搜索引擎搜索到,并影响搜索结果的排列顺序。 XML对这一原理进行了深化和扩展,用XML,你可以描述你的信息在...

    Textpattern CMS 4.5.7.zip

    *修正:在网站的URL空间百分比编码。 *安全性:IXR修复,以防止XML的二次爆破攻击。 *安全性:在安装和插件预览步骤防止变量注入。 特点: textpattern结构小巧,代码简洁,功能强大,模板也很容易定制,支持...

    textpattern v4.5.7.zip

    *修正:在网站的URL空间百分比编码。 *安全性:IXR修复,以防止XML的二次爆破攻击。 *安全性:在安装和插件预览步骤防止变量注入。   Textpattern CMS是一款简洁而又漂亮的Blog引擎,主题很素雅,留有很大的...

    cuteEditor6.0

    CuteEditor遵循Web标准,没有类似 &lt;FONT&gt; 这种标签 &lt;br/&gt;你的Html编辑器还在使用类似 这种标签么? CuteEditor会帮助你构建用户最新Web标准的html代码标签,自动生成简洁的HTML/XHTML代码。 为...

    C#编程经验技巧宝典

    111 &lt;br&gt;0184 如何在ASP.NET中获取文件的扩展名 111 &lt;br&gt;0185 如何在ASP.NET中用URL在页面之间传值 112 &lt;br&gt;0186 如何使用IsPostBack实现ASP.NET页面加载 112 &lt;br&gt;0187 如何利用输出缓存技术缓存...

    微思象棋播放器 1.2.0.rar

    微思象棋播放器可以在您的CMS、博客、论坛等互联网平台上完美的嵌入运行,能够非常灵活简单的和您的系统实现完美的无缝衔接。 微思象棋播放器 1.2.0 更新日志: 1. 新增走子着法朗读功能 2. 新增走子音效音量...

    C#开发实例大全(基础卷).软件开发技术联盟(带详细书签) PDF 下载

    实例019 巧用位移运算符获取汉字编码值 24 实例020 使用条件运算符判断指定年份 是不是闰年 25 实例021 使用流程控制语句报销业务花销 26 2.3 关键字的使用 27 实例022 使用checked关键字处理溢出错误 27 实例023 ...

    textpattern博客系统网站 v4.5.7

    *修正:在网站的URL空间百分比编码。 *安全性:IXR修复,以防止XML的二次爆破攻击。 *安全性:在安装和插件预览步骤防止变量注入。 Textpattern CMS是一款简洁而又漂亮的Blog引擎,主题很素雅,留有很大的个性化...

Global site tag (gtag.js) - Google Analytics