当前位置: 首页 > news >正文

[代码]HTML页面如何接收外部参数

HTML静态页面接收外部参数的原理其实很简单,就是通过Javascript解析字符串,打开一个HTML页面时,通 location.href 可以取到该页面的地址,要解析的字符串对象正是这个地址。
 
一般约定参数的传递形式为:*.htm?p1=1&p2=2&p3=3,即在页面的实际地址与参数之间以 ? 隔离,参数与参数之间使用 & 隔离,每个参数表达式等号前面为参数名,后面为参数值。
 
具体实现的代码如下(感谢CSDN网友 qxg1123 Iamfish 提供的实现代码):
 
qxg1123  的实现:  

var pos,str,para,parastr,tempstr1;
tempstr="";
str = window.location.href;
pos = str.indexOf("?")
parastr = str.substring(pos+1);
document.write("<br>文件路径:"+str);
if (pos>0){
  document.write("<br>所有参数:"+parastr);
}
else
{
  document.write ("无参数");
}


if (str.indexOf("&")>0){
  para = parastr.split("&");
  for(i=0;i<para.length;i++)
  {
    tempstr1 = para[i];
    pos = tempstr1.indexOf("=");
    document.write ("<br>参数"+i+":"+tempstr1.substring(0,pos));
    document.write ("等于:"+tempstr1.substring(pos+1));
  }
}

 

Iamfish 的实现

var QueryString="";
if(location.href.indexOf("?")>0){
  QueryString=location.href.substr(location.href.indexOf("?")+1);
}

QueryString="&"+QueryString+"&";

function Request(key){
  var tempStr;
  key="&"+key+"=";
  if(QueryString.indexOf(key)>=0){
    tempStr=QueryString.substr(QueryString.indexOf(key)+key.length);
    return tempStr.substr(0,tempStr.indexOf("&"));
  }
  return "";
}

相关文章:

  • SQLServer2005:SQLCLR代码之CLR安全
  • 解决问题记录(3)-事务处理出错:连接打开但是在fetching状态中。
  • 成功人士具备的20个习惯
  • 读.net精简框架集所想到的
  • [转帖]管理与用人
  • 十大曝光率最高免费绿色软件
  • 使用C#在应用程序间发送消息
  • iis 5.0 不能运行 asp.net 的 原因
  • 手把手教你"设"内网"变"外网"
  • C#结合串口通信类实现串口通信源代码(原创)
  • SOA 与 世界 3.0
  • Ip Messenger
  • windows还能抗住病毒吗?ubuntu唯一的遗憾是不能用网上银行
  • VB里面操作Excel(居然比C#强)
  • Google Talk最新版 支持语音邮件
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • Bytom交易说明(账户管理模式)
  • ES6语法详解(一)
  • Java IO学习笔记一
  • php面试题 汇集2
  • React-Native - 收藏集 - 掘金
  • vue:响应原理
  • win10下安装mysql5.7
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 使用putty远程连接linux
  • 线性表及其算法(java实现)
  • 整理一些计算机基础知识!
  • ​Python 3 新特性:类型注解
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • (笔试题)分解质因式
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (第一天)包装对象、作用域、创建对象
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • ..回顾17,展望18
  • .NET 常见的偏门问题
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...
  • .net6使用Sejil可视化日志
  • .net经典笔试题
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • .NET中的Event与Delegates,从Publisher到Subscriber的衔接!
  • .sh
  • @converter 只能用mysql吗_python-MySQLConverter对象没有mysql-connector属性’...
  • @selector(..)警告提示
  • @vue/cli 3.x+引入jQuery
  • @我的前任是个极品 微博分析
  • [ C++ ] template 模板进阶 (特化,分离编译)
  • [2021]Zookeeper getAcl命令未授权访问漏洞概述与解决
  • [AHOI2009]中国象棋 DP,递推,组合数
  • [ASP.NET MVC]Ajax与CustomErrors的尴尬
  • [Asp.net MVC]Asp.net MVC5系列——Razor语法
  • [Big Data - Kafka] kafka学习笔记:知识点整理
  • [boost]使用boost::function和boost::bind产生的down机一例
  • [C#]winform利用seetaface6实现C#人脸检测活体检测口罩检测年龄预测性别判断眼睛状态检测
  • [C]整形提升(转载)
  • [C++]类和对象【上篇】