js写cookie到指定域名,js设置cookie domain

本文详细介绍了如何使用JavaScript在客户端设置、获取和删除cookies,包括写入cookie函数、读取cookie值的函数以及HTML表单的应用实例。

大家好,小编来为大家解答以下问题,javascript:document.write(document.cookie),js写cookie到指定域名,今天让我们一起来看看吧!

函数一、写cookie的函数,将Cookie写入客户端,通用函数,传入3个参数即可(Cookie名字,值和失效期)
//函数:写入cookie
function WriteCookie (cookieName, cookieValue, expiry)
{
var expDate = new Date();
if(expiry) //如果设置了cookie失效时间;
{
expDate.setTime (expDate.getTime() expiry);
document.cookie = cookieName "=" escape (cookieValue) "; expires=" expDate.toGMTString();
}
else //没有设置cookie失效时间;
{
document.cookie = cookieName "=" escape (cookieValue);
}
}

函数二、取得表单数据
//函数:取得form表单域的值作为cookie的相关值(cookie name,cookie value,expires)
function setCookie ()
{
var name = document.myform.text1.value;
var value = document.myform.text2.value;
var num = document.myform.text3.value;
var select = document.myform.text3.selectedIndex;
if (name=="" || value=="" || num==""){
alert ("请输入Cookie的名字,值和失效期再测试!");
return false;
}

if(num == 0)
{
WriteCookie(name, value, 0);
}
else if(select == 0)
//如果选择的是天;时间换算成秒;
{
WriteCookie(name, value, 1000 * 60 * 60 * 24 * num);
}
else if(select == 1)
//如果选择的是月;
{
WriteCookie(name, value, 1000 * 60 * 60 * 24 * num * 31);
}
else if(select == 2)
//如果选择的是年;
{
WriteCookie(name, value, 1000 * 60 * 60 * 24 * num * 365);
}
alert ("Cookie已经保存")
}

函数三、读cookie的值
function ReadCookie (CookieName) {
var CookieString = document.cookie;
var CookieSet = CookieString.split (';');
var SetSize = CookieSet.length;
var CookiePieces
var ReturnValue = "";
var x = 0;
for (x = 0; ((x < SetSize) && (ReturnValue == "")); x ) {

CookiePieces = CookieSet[x].split ('=');

if (CookiePieces[0].substring (0,1) == ' ') {
CookiePieces[0] = CookiePieces[0].substring (1, CookiePieces[0].length);
}

if (CookiePieces[0] == CookieName) {
ReturnValue = CookiePieces[1];

}

}

alert ("Cookie Value is:" ReturnValue);

}


HTML表单内容:
<form name=myform>
<table width="95%" border="0" cellspacing="0" cellpadding="2">
<tr>
<td>Cookie name:</td>
<td>
<input type=text name="text1" value="java2000" readonly>
</td>
</tr>
<tr>
<td>Cookie value:</td>
<td>
<input type=text name="text2" value="welcome" readonly>
</td>
</tr>
<tr>
<td>Cookie保留期:</td>
<td>
<input type=text value=0 name="text3">
<select name="Choice">
<option value="0" selected>天</option>
<option value="1">月</option>
<option value="2">年</option>
</select>
</td>
</tr>
<tr>
<td colspan="2">
<input type=button value="保存Cookie" onClick="setCookie()" name="button2">
<input type=button value="删除Cookie"
onClick="WriteCookie(document.myform.text1.value, '');alert('Cookies已经清除了!')" name="button">
<input type="submit" name="Submit" value="看Cookie内容" onClick="ReadCookie (document.myform.text1.value)">
</td>
</tr>
</table>
</form>
说明:具体使用时可能需要你稍微修改一下以适合自己的应用,但是主要代码已经在这里了。

在使用 [`js-cookie`](https://github.com/js-cookie/js-cookie) 设置 Cookie 时,可以通过 `domain` 选项来指定 Cookie 的作用域(即该 Cookie 在哪些域名下有效)。设置 `domain` 的方式非常简单,只需要在设置 Cookie 时传入一个配置对象即可。 ### 示例代码 ```javascript // 使用 js-cookie 设置domaincookie Cookies.set('username', 'JohnDoe', { domain: 'example.com' }); ``` 这段代码会设置一个名为 `username` 的 Cookie,其值为 `JohnDoe`,并且该 Cookie 对 `example.com` 域名及其子域名(如 `www.example.com`、`blog.example.com`)有效。 ### 更多配置示例 ```javascript Cookies.set('token', 'abc123', { expires: 7, // 有效期为 7 天 domain: 'example.com', // 作用域为 example.com 及其子域名 path: '/', // 路径为根路径 secure: true // 仅通过 HTTPS 发送 }); ``` ### 注意事项 - `domain` 选项用于指定 Cookie 应该发送到的域名。如果你不设置 `domain`,Cookie 默认只会在当前域名下有效。 - 如果你设置的 `domain` 是 `.example.com`(注意前面的点),它通常表示 Cookie 对主域名和所有子域名都有效。不过,现代浏览器可能忽略前面的点,直接使用 `example.com` 即可。 - Cookie 的 `path` 选项也会影响其作用域,默认是 `/`,表示在整个域名下都有效。 - 如果设置了 `secure: true`,Cookie 只能通过 HTTPS 协议传输。 --- ### 删除带 domainCookie 如果你想删除一个设置了 `domain` 的 Cookie,必须提供相同的 `domain` 和 `path`(如果设置过的话): ```javascript Cookies.remove('username', { domain: 'example.com', path: '/' }); ``` --- ### 总结 使用 `js-cookie` 设置 `domain` 非常直观,只需要在设置 Cookie 时传入 `{ domain: 'example.com' }` 即可。这样可以确保 Cookie指定域名及其子域名下生效。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值