2011-08-17 4 views
1

저는 PHP 개발자이지만 훈련에 경험이 없으므로 누군가가 파이어 폭스에서 웹 사이트를 열면 쿠키가 크롬, 오페라 및 다른 브라우저에도 저장되어야합니다.누구나 크로스 웹 브라우저 쿠키를 설정하는 방법을 알 수 있습니까?

+5

이해가 안됩니다. "크로스 브라우저 쿠키"가 의미하는 바를 명확히하십시오. 여러 브라우저에서 쿠키를 공유하고 싶습니까? 왜? 달성하고자하는 것은 무엇입니까? –

+0

@ 페카가 옳습니다. 나도 이해할 수 없다. 모두가 이해할 수 있도록 질문을 다시 말하면 될까요? 그리고 그것은 "coockie"가 아닌 "쿠키"입니다. – sailhenz

+0

저는 PHP 개발자이지만 훈련에 경험이 없으므로 누군가가 파이어 폭스에서 웹 사이트를 열면 쿠키가 크롬, 오페라 및 다른 브라우저에도 저장되어야합니다. –

답변

1

브라우저간에 직접 쿠키를 공유 할 수는 없지만 Flash를 사용하여 값을 SharedObject에 저장하고 읽을 수 있습니다. 이것은 Flash Player에서 처리하므로 모든 브라우저에서 작동합니다.

이렇게하면됩니다. 그것은 플렉스에서 이루어집니다 :

//Write it as a cookie 
     ExternalInterface.call("document.insertScript = function()" + 
     "{ " + 
      "if (document.snw_setCookie==null)" + 
      "{" + 
       "snw_setCookie = function (name, value, minutes)" + 
       "{" + 
        "if (minutes) {"+ 
          "var date = new Date();"+ 
          "date.setTime(date.getTime()+(minutes*60*1000));"+ 
          "var expires = '; expires='+date.toGMTString();"+ 
         "}" + 
         "else var expires = '';"+ 
         "document.cookie = name+'='+value+expires+'; path=/; domain=.example.com;';" + 
        "}" + 
      "}" + 
     "}"); 

당신이 할 수있는이 방법 : 당신이 쿠키로 필요한 경우

//Write the SharedObject 
var mySharedObject:SharedObject=SharedObject.getLocal("mySharedObject", "/"); 
mySharedObject.data.role = role; 
mySharedObject.flush(); 

//Read it when needed 
var mySharedObject:SharedObject=SharedObject.getLocal("mySharedObject", "/"); 
role = mySharedObject.data.role; 

은 또한 SharedObject를 읽고 쿠키에 값을 작성하는 플렉스에서 자바 스크립트를 호출 할 수 있습니다 모든 브라우저에서 동일한 쿠키를 사용하십시오. 이 문제가 생기면 알려주세요.

1

PHP를 통해 크로스 브라우저 쿠키를 설정할 수 없습니다.

트릭이 있지만 플래시가 대신 사용됩니다. 자세한 내용은 this link을 참조하십시오.

관련 문제