2012-10-08 9 views
1

perl에서 실행되는 레거시 응용 프로그램이 있습니다. 나는 하나의 default.aspx로 MVC 애플리케이션을 개발했다. 내부 default.aspx 레거시 응용 프로그램 URL을 열려면 마스터 페이지와 iframe을 넣습니다. 내가 뭘 원하는 것은 매번이며, iframe을 다음 페이지 (내가 iframe 내에, 평균), 난 내 default.aspx에있는 URL을 캡처하고 iframe을의 SRC에Iframe url 조작 및 쿼리 문자열로 추가

예를 쿼리 문자열을 추가 할로 이동하려고 :

레거시 애플리케이션에서 첫 번째 페이지는 http : //iframe.com/index.cgi입니다. index.cgi의 링크를 클릭하면 http : //iframe.com/product.cgi로 이동합니다.

MVC 응용 프로그램에서 "http : //iframe.com/index.cgi? MyQueryString"이 열립니다. iframe에서 레거시 애플리케이션에 따라 index.cgi의 링크를 클릭하면 http : //iframe.com/product.cgi로 이동하려고 시도합니다. 하지만 그것을 "http : //iframe.com/product.cgi?MyQueryString"으로 만들고 싶습니다.


어떻게하면 좋을까요?

P. 난 레거시 펄 응용 프로그램에서 아무것도 변경할 수 없습니다. iframe 부하 그런

<iframe id="perlIframe" src="http://yourPerlURLhere" onload="recordMe(this)"></iframe>​ 

당신이 할 수있는 새 페이지를 사용자마다 : 내가 할 수있는 모든 Default.aspx를 내가 생각할 수있는 유일한 것은이 같은 것을 할 경우에만

답변

0

에서 수행되어야한다

function recordMe(a){  
    console.log(a.src); 

또는

console.log(a.location.href); 
,369이 같은 src 또는 location.href 그렇다고 잡아

하지만 두 페이지가 같은 도메인에 없으면 일부 '동일한 출처'문제가 발생합니다.

+0

도메인이 동일합니다.이 a.src는 iframe 내에서 어디서나 탐색 할 때 항상 http : // yourPerlURL을 제공합니다. – Jeevan

+1

frame.contentDocument.location.href - 프레임의 URL을 제공합니다. – Jeevan