2010-07-23 4 views
2

내 코드입니다 : 내가 개체 매개 변수 URL에 매개 변수로 전달할 수있는 방법어떻게 URL을 통해 자바 스크립트 객체를 전달하는 여기

function show() 
{ 
    var parameters = new Object(); 
    parameters.F1MBFC = 'N'; 
    parameters.F1MCSI = 'N'; 
    parameters.F1MMCY = 'N'; 
    parameters.F1NACD = 'B'; 
    parameters.F1RVCR = 'N'; 

    parameters.SOURCEFILED = '_fld:FACILITY7'; 

    showPopWin('http://mysite/popupForm.aspx', 650, 450, null); 
} 

? 아이디어가 있으십니까?

+0

다음은 내가 찾은 해결책입니다. http://stackoverflow.com/questions/15399749/embedding-javascript-objects-in-a-pages-url/15399819#15399819 –

답변

3

당신은 실제로 다음, 자바 스크립트로 윈도우를 직접 여는 경우 찾아보기 아마) window.opener 속성을 통해. 나는 약간 잘못된 것이 있을지 모르지만 당신은 일반적인 아이디어를 얻는다.

0

URL을 직렬화하여 URL에 문자열로 추가하고 사용하기 전에 역 직렬화 할 수 있습니다.

1

개체를 serialize하고 get 매개 변수로 전달할 수 있습니다.

var a = { 
    name: "alexn", 
    age: 20 
}; 

a.toSource(); 

yields "({name:"alexn", age:20})" 

는 다음과 같은 사용할 수 있어야합니다 : 여기

는 자바 스크립트 객체를 직렬화하는 방법입니다

바와 같이 이미 당신이 객체를 직렬화 할 수 있습니다 언급 읽은
showPopWin('http://mysite/popupForm.aspx?parameter=' + parameters.toSource(), 650, 450, null); 
+1

논쟁의 여지가있는 가치는 있지만, 이 접근법은 XSS에 대한 중요한 공격 경로가됩니다. 나는 이것을 모든 일에 피하는 것이 좋습니다. –

+0

@silky 당신은 절대적으로 옳습니다. 가장 좋은 방법은 아마 이것을 세례당에 보관하는 것입니다. – alexn

0

새 페이지. 하지만 열어 본 페이지의 소스를 제어 할 수 있다면 새 창에서 부모 창에 액세스하여 원하는 값을 얻을 수 있습니다. (

alert(document.SomeObject); 

또한 발신자에 액세스 할 수 있습니다에 따라 : 다른 페이지의 코드에서 다음

var win = window.open("foo"); 
win.document.SomeObject = "hello"; 

을 :

관련 문제