2014-04-26 1 views
0

이 순간 내가 직면 한 문제는 다음과 같습니다. 링크가 2 개 있고, 링크 A가 상점의 첫 페이지/홈페이지로 이동하고 링크 B는 상점 내의 특정 페이지로 이동합니다. 제품 범주. 링크 B가 페이지를 제대로 잡아 끌기 위해서는 (빈 페이지) 링크 A를 방문해야합니다. 내 생각 엔 링크 A가 상점 전체에 여행을 허용하는 사람의 쿠키/세션을 설정한다는 것입니다.리디렉션없이 리디렉션

나는 약간 다른 질문을 읽고

내가 생각하고있는 솔루션은 사용자 프레스가 B를 연결할 때 그들은 원래를 누른 것처럼, 다음 B를 연결하는 리디렉션 물리적로 리디렉션없이 링크 A를 호출한다 이것에 관해서는 아직 그들은 나의 곤경에 정말로 대답하지 않았다. 가장 가까운 것은 다음과 같습니다 : redirect without to leave the current page

웹 사이트를 html/php로 개발 중입니다. 위의 질문에서 언급 한 용어/기능을 사용하지 않았습니다. 나는 다른 질문을 읽었고, cURL에 대해서는 찾지 못했지만, PHP 5.4.3 (포스터는 cURL이 PHP 5.4.3에서 포함되었다고 언급했습니다)를 실행 중입니다. 즉, cURL이 이미 설치되어 있거나 어쨌든 설치해야합니까?

편집 : 위의 질문은 상점을 운영하고 관리하지 않기 때문입니다. 시나리오는 유통 업체가 보유하고 운영하는 독립 디스트리뷰터입니다.

+0

서버에서 cURL을 실행해도 최종 사용자의 브라우저에는 쿠키가 설정되지 않습니다. – jfriend00

+0

물론 쿠키를 직접 설정할 수 있습니다. 어느 쪽이든 그게 정말로 당신이 할 수있는 것이 분명하지 않습니다. 웹 서버를 제어 할 수 있습니까? 링크를 제어 할 수 있습니까? 그렇다면 어떤 방식으로? JavaScript는 옵션입니까? 나는 너에게 우리에게 더 많은 정보를 주어야한다고 생각해. – alex

+0

내가 편집 한 내용을 읽지 않으 셨다면하십시오. 갖고 계시고 아직 귀하의 질문에 답을 얻지 못했다면 상점을 보유하고있는 서버 나 링크를 링크로 사용하는 것 이외에 다른 서버를 제어 할 수 없습니다. 그러나 나는 무엇이 효과가 있는지 시험해보고 싶지만 복잡한 것보다 더 간단한 해결책을 선호합니다. – madman

답변

0

여러분의 가장 좋은 희망은 자신의 페이지에 iframe을 생성하고 (너무 커서 표시 할 필요조차 없습니다) 아마 iframe에 링크 "A"를로드하는 것입니다. 해당 iframe로드가 완료되면 사용자가 "B"링크를 할 수 있습니다. 사이트 "A"가 iframe에로드되는 것을 막지 못한다고 가정하면 사이트 초기화 코드 (예 : 쿠키)를 설정해야합니다.

A와 B가 모두 자신의 페이지와 다른 도메인이므로 사용자는 해당 페이지로 직접 아무것도 할 수 없습니다. 당신이 알고 당신은 아마 '돈 있도록이 한 번 수행 한 후에는 또한 자신의 페이지를 쿠키로 수

function preloadSiteThenRedirect(linkA, linkB) { 
    var iframe = document.createElement("iframe"); 
    iframe.onload = function() { 
     window.location = linkB; 
    }; 
    iframe.src = linkA; 
    // position iframe off screen to the left 
    iframe.style.position = "absolute"; 
    iframe.style.left = "-1000px"; 
    iframe.style.width = "800px"; 
    iframe.style.height = "800px"; 
    document.body.appendChild(iframe); 
} 

를 참고하시기 바랍니다 :

동적 iframe이를 생성하고이 같은로드 될 때 모니터링 할 수 있습니다 일부 쿠키 만료 기간 (사이트 A의 쿠키 만료 기간을 조사 할 수 있음) 내에 다시해야합니다.

참고로 사이트 A가 프레임 될 수 있도록해야합니다. 일부 사이트는 그렇지 않습니다. 틀이 박히지 않는 사이트의 경우 위의 논리가 작동하는 것 같습니다.

: (당신은 당신이 만든 다른 의견에서 jQuery를 가지고 내가 있으리라 믿고있어)이 작업을 수행 할 수 있습니다, 귀하의 페이지에서 사이트 B로 링크를 들어 http://jsfiddle.net/jfriend00/TXTx9/


: 여기

는 작업 데모입니다

HTML :

<a class="directLink" href="link B">Go directly to Product B</a> 

자바 스크립트 :

$(".directLink").click(function(e) { 
     // prevent action of the link 
     e.preventDefault(); 
     // call the preload, then redirect function 
     preloadSiteThenRedirect("URL to main page", this.href); 
}); 

참고로, class="directLink"으로 원하는만큼 많은 링크를 페이지에 넣을 수 있으며,이 코드는이 모든 코드를 관리합니다.

+0

당신은 몇 초 만에 나를 때려 눕혔습니다. jQuery로 정확히 이것을 수행하기 위해 필요한 함수를 찾고있었습니다. – 11684

+0

@ 11684 - 죄송 합니다만 OP 질문에 jQuery가 표시되지 않을 때 jQuery 솔루션을 제안하고 싶지 않습니다. – jfriend00

+0

OP는 내 대답에 대한 설명에서 부트 스트랩을 사용하고 있다고 말했고 (삭제했는지, 여전히 볼 수 있는지는 모르겠다) 다음은 주석입니다.'jQuery는 부트 스트랩을 사용하고 있다고 가정합니다. [...]', 부트 스트랩에는 jQuery가 포함됩니다. – 11684

관련 문제