从html页面访问查询字符串/参数

我有一个基本的html页面,它将一个查询参数传递给页面.我以为我能用Request.QueryString获取值,但我正在做的阅读越多,这似乎只适用于asp应用程序.我的html如下
<body>
    <object type="application/pdf" width="100%" height="100%">
        <!--This didn't work-->
        <param name="src" value="<%=Request.QueryString["path"]%>" />
        <!--Neither did this-->
        <!--<param name="src" value="<%=Request.Params["path"]%>" />-->
        <!--When it is hardcoded then my page is displaying the pdf as expected.-->
        <!--<param name="src" value="scan.pdf" />-->
    </object>
</body>

我用displayPdf.htm调用页面?path = scan.pdf

我一直在寻找一种方法来访问HTML中的查询参数,而无需编写JavaScript解决方案,但没有任何运气.我确定添加一个js函数不会太大,只是认为如果有单行方法我会避免它.

谢谢您的帮助.

解决方法

这不能用纯HTML来完成.

这可以通过两种方式完成,使用JavaScript:

<body><script>
var param = /[&?]path=([^&]+)/.exec(location.search);
param = param ? param[1].replace(/"/g,'&quot;') : '';
document.write('<object type="application/pdf" width="100%" height="100%">\n' +
    '<param name="src" value="' + param + '" />\n</object>');
</script></body>

另一种方法是使用DOM(demo:http://jsfiddle.net/N2GUf/2/)填充参数:

<body><object type="application/pdf" width="100%" height="100%">
 <param name="src" value="" id="param-path" />
</object>
<script>
var param = /[&?]path=([^&]+)/.exec(location.search);
if (param)
 document.getElementById('param-path').value = param[1];
</script>​</body>

在任何一种情况下,都会从location.search属性中读取查询字符串,并使用简单的正则表达式进行解析.

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些