2012-04-06 2 views
6

페이지에 전달되는 쿼리 매개 변수가있는 기본 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> 

내가

내가 작성하지 않고도 HTML에서 쿼리 매개 변수에 액세스하는 방법을 찾고 있었어요 displayPdf.htm? 경로 = scan.pdf로 페이지를 호출하고 아래에 다음과 같이 나의 HTML은 자바 스크립트 솔루션이지만 아무런 운이 없었습니다. 나는 js 함수를 추가하는 것이 너무 크지 않을 것이라고 확신한다. 단 한 줄의 접근법 만 있다면 그것을 피할 것이라고 생각했다.

도움 주셔서 감사합니다.

답변

8

순수 HTML에서는 사용할 수 없습니다.

이는 자바 스크립트를 사용하여, 두 가지 방법으로 수행 할 수 있습니다 : (: http://jsfiddle.net/N2GUf/2/데모) :

<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을 사용하여 매개 변수를 채울 어느 경우

<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 속성에서 읽은 다음 간단한 정규식을 사용하여 구문 분석됩니다.

+0

두 번째 스타일은 거의 나를 위해 작동하지만 개체가 존재하기 전에 javascript 블록이 호출되고 있습니다. 그 후에이 솔루션을 호출 할 수 있다면 분명히 나에게 도움이 될 것입니다. 처음에는 아무런 변화없이 작동했습니다. 고마워. –

관련 문제