Php 我可以从转发的域触发jQuery集cookie吗?
可能有一个多语言网站,通过使用jQuery链接切换HTMLdiv类来翻译该语言,jQuery链接随后设置cookie以保持该语言在整个网站上保持不变 jQuery如下:Php 我可以从转发的域触发jQuery集cookie吗?,php,jquery,cookies,Php,Jquery,Cookies,可能有一个多语言网站,通过使用jQuery链接切换HTMLdiv类来翻译该语言,jQuery链接随后设置cookie以保持该语言在整个网站上保持不变 jQuery如下: $(function() { $("a.langSelect").click(function() { var language = $(this).text(); $("div#masterLangauge").removeClass().addClass(language);
$(function() {
$("a.langSelect").click(function() {
var language = $(this).text();
$("div#masterLangauge").removeClass().addClass(language);
createCookie("language",language);
return false;
});
if (readCookie("language") != null) {
$("div#masterLangauge").removeClass().addClass(readCookie("language"));
}
else
{
$("div#masterLangauge").removeClass().addClass("english");
}
});
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}
链接的HTML格式如下:
<a class="langSelect" href="#">english</a
<a class="langSelect" href="#">deutsch</a>
<a class="langSelect" href="#">chinese</a>
切换的HTML div在下面,默认为英语-如果选择德语,则类将更改为德语
<div id="masterLangauge" class="english">
然后使用CSS,我将使用display:none和display:block隐藏所有其他语言。这在目前效果很好,非常好
我需要知道的是,如果引用/本地化域名转发到站点,我可以触发这个jQuery cookie和函数吗
所以我们有域名example.com,如果我们有域名germanexample.com重定向到example.com,我希望cookie和语言选择是德语,而不是默认的英语。jQuery可以处理转发的域吗?或者有没有一种方法可以使用PHP来创建类似的预期效果
我希望这是清楚的,有意义的,很难解释
提前感谢大家。如果您在引用的URL中添加一个哈希,然后在引用的域中处理cookie,可能是最简单的方法 因此,在germanexample.com上,您的链接/推荐将是example.comlang=德语 然后在example.com上,您可以检查散列是否存在
var getHashValue = function(key) {
if (typeof key !== 'string') {
key = '';
} else {
key = key.toLowerCase();
}
var keyAndHash = location.hash.toLowerCase().match(new RegExp(key + '=([^&]*)'));
var value = '';
if (keyAndHash) {
value = keyAndHash[1];
}
return value;
};
if(getHashValue('lang')){
//setCookie.... etc etc.
} else {
// readCookie etc.
}
但必须注意的是,这可能不利于搜索引擎的优化,因为爬虫程序大多不执行javascript,因此德语版的google仍将使用英语访问页面,德语和中文文本。您可以使用引用者或在重定向服务器上设置自定义HTTP头,并在其他域上使用JS读取此头。