gpt4 book ai didi

javascript - 没有域名可以创建cookie吗?

转载 作者:行者123 更新时间:2023-11-28 15:11:22 24 4
gpt4 key购买 nike

我有一个功能可以在不同的外部 CSS 样式表之间更改网页的主题,以便用户可以根据自己的体验选择颜色主题。

我尝试了几种不同的方法来尝试将更改应用到我网站上的所有页面,目前它仅更改当前页面,当您单击不同的页面时,主题将返回到默认设置。

以下是我的代码摘录:

HTML:

<head>
<link rel="stylesheet" type = "text/css" href="blue.css" id = "blueStyle" title = "blueStyle" />
<link rel="alternate stylesheet" type = "text/css" href="red.css" id = "redStyle" />
<link rel="alternate stylesheet" type = "text/css" href="green.css" id = "greenStyle" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<script>
function setStyleSheet(url) {
var stylesheet = document.getElementById("blueStyle");
stylesheet.setAttribute('href', url);
}
</script>
</head>
<body>
<div id ="styleRed" onclick = "setStyleSheet('red.css')" href = "red.css">Red Theme</div>
<div id ="styleGreen" onclick = "setStyleSheet('green.css')" href = "green.css">Green Theme</div>
<div id ="styleBlue" onclick = "setStyleSheet('blue.css')" href = "blue.css">Blue Theme</div>
</body>

代码和函数工作正常,当我运行它时,当前页面上的所有颜色都会发生变化,但是一旦您单击到另一个页面,默认颜色就会返回。

我知道我应该使用 cookie 来存储这些数据,但这是我的第一个项目,我才刚刚开始学习 cookie。问题是我只在 Notepad++ 上有这个项目,它是一个文本编辑器。

我还没有网络主机或域名,但是如果网站仅处于开发阶段,有没有办法测试 cookie 以查看功能是否有效?或者我必须为 cookie 分配一个域名来测试它吗?

最佳答案

域不是必需的,HTTP(S) 才是。 Cookie 是一种 HTTP 状态管理机制,如 RFC 6265 中定义。 。因此,浏览器需要通过 HTTP(S) 加载文件才能进行 cookie 交互。

本地工作和使用 cookie 的唯一方法是在本地运行 Web 服务器,这样您就可以使用 http:// 方案加载文件,而不是 file://方案。

根据 Web 服务器的配置,您可以通过 http://localhosthttp://127.0.0.1 加载页面http://x.x.x.x (其中 x.x.x.x 是您的计算机接口(interface)之一上的 IP),或通过一些本地指向的假域名(通过 /etc/hosts).

一些用于入门的预构建服务器包是:

我知道,如果您付费购买 MAMP Pro,它会附带一个帮助创建本地域名的工具(它会为您编辑 /etc/hosts)。我不知道其他人是否提供类似的东西。

关于javascript - 没有域名可以创建cookie吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36321549/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com