我有一个基本的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,'"') : ''; 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
属性中读取查询字符串,并使用简单的正则表达式进行解析.
原文地址:https://www.jb51.cc/html/242528.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。