首先,请记住,我从来没有使用Javascript自己(只采取了一些脚本谁工作在100%)和同样的对象编程(学习编程的Pascal,12年前)。
现在,我必须创建一个小的在线商店德语和法语。
我做了功能来设置cookie whoo保持所选的语言。
但现在,我至少想要一件事:如果没有任何名为"Language"的cookie,请创建一个cookie并将其设置为法语。
我该怎么做呢?
我的职务:
function setCookie(sName, sValue) {
var expDate = new Date();
expDate.setTime(expDate.getTime() + (365 * 24 * 3600 * 1000)); // ici 1 an
document.cookie = sName + "=" + escape(sValue) + ";expires=" + expDate.toGMTString() + ";path=/";
}
和页面:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="./css/style.css" rel="stylesheet" media="all" type="text/css" />
<script type="text/Javascript" src="./javascript/cookie.js"></script>
<title></title>
<?php
require_once './includes/google_analytics.php';
?>
</head>
<body onload="setCookie('language','fr');">
<p>
Language : <a href="<?php echo $_SERVER['PHP_SELF']?>" onclick="setCookie('language','fr')">fr</a> /
<a href="<?php echo $_SERVER['PHP_SELF']?>" onclick="setCookie('language','de')">de</a>
</p>
<?php
require_once './includes/menu.php';
?>
<div id="contener">
<!-- --------------------------------------------- -->
<?php
require_once './includes/header.php';
?>
<!-- --------------------------------------------- -->
<!-- --------------------------------------------- -->
<?php
require_once './includes/footer.php';
?>
</div>
</body>
</html>
我想用"onload"做测试。
3条答案
按热度按时间rjee0c151#
这是检查cookie是否已设置的一种方法:
请注意,如果任何cookie的名称以
language
结尾,此操作也不会设置cookie。这里有一个合适的函数来检查一个具有特定名称的cookie是否已经存在。
你可以用它
onload
:**在
<head>
区域中添加以下内容:因为OP最初有php标记。
kupeojn62#
我知道这个答案看起来很长,但它有非常方便的实用方法。你可以使用这两个实用cookie方法-
然后─
更改html到-
或
gk7wooem3#
关键是您使用的是XHTML -并且在XHTML文档下。cookie是一个只读属性。
这意味着无论你尝试什么,你都不能从JavaScript设置cookie。但是,一个可能的方法是设置一个 AJAX 调用,将相关参数传递给一个后台脚本。然后,该后台脚本可以用来设置cookie。