2012-01-05 3 views
0

도메인이 다른 여러 사이트가 있습니다. 고객이 a.com/1.html 페이지에서 작업을 수행 할 수 있으며 일부 데이터가 생성되었습니다. 그런 다음 고객은 a.com/1.html 페이지의 링크를 클릭하고 b.com/2.html로 리디렉션 될 수 있으며, b.com/2.html은 동일한 창이나 새 창에서 열릴 수 있습니다. a.com/1.html에서 생성 된 데이터를 b.com/2.html로 전송하는 프런트 엔드 (JavaScript/HTML) 방법이 있습니까?한 페이지에서 다른 페이지로 데이터를 전송하는 방법은 무엇입니까?

두 페이지가 같은 도메인에 없기 때문에 cookie/localStorage를 여기에서 사용할 수 없으며 다음 페이지가 새 창에서 열리므로 데이터를 window.name 임시에 저장할 수 없으므로 데이터가있을 수 있습니다. 약간 길어서 URL 매개 변수를 통해 전달할 수없는 이유가 있습니다. 두 페이지간에 양방향 통신이 필요하지 않습니다. 필요한 첫 페이지는 데이터를 다음 페이지로 전송하거나 첫 번째 페이지는 데이터를 어딘가에 저장하고 다음 페이지는 가져옵니다.

어떤 해결책이 있습니까?

감사합니다.

+0

POST 요청은 실행 가능한 솔루션입니까? – PPvG

+0

다음 페이지는 정적 페이지 일 수 있습니다. POST를 처리 할 수 ​​없습니다. – oldj

+0

이 경우 URL 매개 변수가 페이지 2에 들어가는 유일한 지점이 될 수 있습니다. 데이터 종류의 샘플을 제공하면 함께 일하면서, 누군가가 당신에게 "어떤 이유"를 피할 수있는 방법을 줄 수 있습니다. 왜냐하면이 솔루션이 효과가 없을 것입니다. 그럴 가치가 있니? – PPvG

답변

1

는 GET 매개 변수에 들어갈 수있는 전송하려는 데이터가 아마도이 가능한 솔루션 인 경우 :

  1. 는 GET 매개 변수에 b.coma.com에서 따라 데이터를 전달;
  2. 데이터를 쿠키에 b.com에 저장하십시오.
  3. 매개 변수없이 같은 페이지 (b.com)로 리디렉션하십시오.
  4. 쿠키에서 데이터를로드하십시오.
+0

두 페이지가 서로 다른 도메인에있을 수 있습니다. 예를 들어 첫 번째 페이지는 a.com/1.html이고 다음 페이지는 b.com/2.html이고, 데이터가 a.com의 쿠키에 저장되면 b.com에서로드 할 수있는 방법이 없다고 생각하십니까? – oldj

+0

@oldj : 답변을 좀 더 명확하게 업데이트했습니다. 나는 데이터를'b.com'에 전달하고 ** 다음에 ** 쿠키를 저장하는 것을 의미했습니다. 리디렉션은 사람들이 매개 변수로 URL을 공유하거나 북마크하지 못하도록 ** ** **입니다. – PPvG

+0

알겠습니다. 감사합니다. 이것은 실제로 해결책이며 유일한 문제는 브라우저 기록 및 서버 측 로그에 두 개의 레코드를 만들고 고객이 여분의 리다이렉션을 보게 될 것이고 사용자 경험이 좋지 않다는 것입니다. ... – oldj

0

새 창 또는 브라우저 태그에 b.com/2.html를 엽니 페이지 a.com/1.html에서 window.showModalDialog() 또는 window.showModallessDialog()를 사용해보십시오. 견인 기능의 두 번째 매개 변수는 a.com/1.html에서 데이터를 입력하고 b.com/2.html~~로 전송할 수있는 객체 일 수 있습니다.

+0

window.showModalDialog 및 창.showModallessDialog는 IE 전용이며 때때로 같은 창에서 다음 페이지를 열어야합니다. 즉, 사용자가 b.com/2.html을 볼 때 더 이상 a.com/1.html이 존재하지 않음을 의미합니다. 이 두 가지 방법이이 경우에 잘 작동하지 않는 것 같습니다. – oldj

0

두 사이트 모두 Flash SharedObject 데이터를 저장합니다. 동일한 도메인에서 swf 파일 만 사용하는 경우 데이터를 공유 할 수 있습니다.

그러나 플래시는 iOS 장치에서 사용할 수있는 솔루션이 아닙니다. 그래서 사용하기 전에 그것에 대해 생각하십시오.

관련 문제