任何人都可以知道如何设置跨Web浏览器cookie

时间:2011-08-17 07:23:58

标签: php

我是一名php开发人员,但现在没有接受过培训的经验,如果有人从firefox打开网站,那么cookie也必须保存在chrome,opera和其他浏览器中。

2 个答案:

答案 0 :(得分:1)

您无法通过PHP设置跨浏览器Cookie。

虽然有一些技巧,但它会使用闪光灯代替。有关详细信息,请参阅this link

答案 1 :(得分:1)

虽然您无法跨浏览器直接共享Cookie,但您可以使用Flash将值存储在SharedObject中并进行读取。由Flash Player处理,它适用于所有浏览器。

这会奏效。它是在Flex中完成的:

//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;

如果你需要它作为cookie,你也可以从Flex调用javascript来读取SharedObject并在cookie中写入值:

//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;';" +
                    "}" +
            "}" +
        "}");

这样您就可以在所有浏览器中使用相同的Cookie。如果您对此有疑问,请告诉我。