Javascript 参考其他页面上的VAR
我在一个网站上工作 目前,该网站在首页上询问您的姓名,并将您的姓名保存在字符串变量中Javascript 参考其他页面上的VAR,javascript,jquery,html,Javascript,Jquery,Html,我在一个网站上工作 目前,该网站在首页上询问您的姓名,并将您的姓名保存在字符串变量中 var name=""; 他们输入姓名并单击“输入站点”后,将进入一个新页面。在这个新页面上,我想让它说“你好'名字'…布拉布拉赫” 是否有办法保存var名称,以便其他文件从main.html中识别它 以前有人建议将其保存在cookies中,但如果我的网站不在线(它只有.html文件,当前不属于域),这会起作用吗 如有任何建议,将不胜感激,谢谢 您可以使用cookie进行此操作。若您并没有使用数据库或其他东西
var name="";
他们输入姓名并单击“输入站点”后,将进入一个新页面。在这个新页面上,我想让它说“你好'名字'…布拉布拉赫”
是否有办法保存var名称,以便其他文件从main.html中识别它
以前有人建议将其保存在cookies中,但如果我的网站不在线(它只有.html文件,当前不属于域),这会起作用吗
如有任何建议,将不胜感激,谢谢 您可以使用cookie进行此操作。若您并没有使用数据库或其他东西,就并没有其他方法在页面之间传输变量 为此,您可以使用简单的jQuery插件轻松调用: 创建cookie
$.cookie('the_cookie', 'the_value', { expires: 7, path: '/' });
阅读cookie:
$.cookie('the_cookie'); // => "the_value"
您可以在主机中需要的每个页面上执行此操作
已编辑
当然,您也可以尝试使用javascript设置和获取cookie值
function getCookie(c_name)
{
var c_value = document.cookie;
var c_start = c_value.indexOf(" " + c_name + "=");
if (c_start == -1)
{
c_start = c_value.indexOf(c_name + "=");
}
if (c_start == -1)
{
c_value = null;
}
else
{
c_start = c_value.indexOf("=", c_start) + 1;
var c_end = c_value.indexOf(";", c_start);
if (c_end == -1)
{
c_end = c_value.length;
}
c_value = unescape(c_value.substring(c_start,c_end));
}
return c_value;
}
function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}
function checkCookie()
{
var username=getCookie("username");
if (username!=null && username!="")
{
document.getElementById("welcome").innerHTML="Welcome " + username;
}
else
{
username=prompt("Please enter your name:","");
if (username!=null && username!="")
{
setCookie("username",username,365);
}
}
}
</script>
函数getCookie(c_名称)
{
var c_value=document.cookie;
var c_start=c_value.indexOf(“+c_name+”=”);
如果(c_开始==-1)
{
c_start=c_value.indexOf(c_name+“=”);
}
如果(c_开始==-1)
{
c_值=null;
}
其他的
{
c_start=c_值。indexOf(“=”,c_start)+1;
var c_end=c_value.indexOf(“;”,c_start);
如果(c_end==-1)
{
c_端=c_值。长度;
}
c_值=unescape(c_值.子字符串(c_开始,c_结束));
}
返回c_值;
}
函数setCookie(c_名称、值、exdays)
{
var exdate=新日期();
exdate.setDate(exdate.getDate()+exdays);
var c_value=escape(value)+(exdays==null)?“”:“expires=“+exdate.toutString());
document.cookie=c_name+“=”+c_值;
}
函数checkCookie()
{
var username=getCookie(“用户名”);
如果(用户名!=null&&username!=“”)
{
document.getElementById(“欢迎”).innerHTML=“欢迎”+用户名;
}
其他的
{
用户名=提示(“请输入您的姓名:”,“”);
如果(用户名!=null&&username!=“”)
{
setCookie(“用户名”,用户名,365);
}
}
}
使用javascript时,使用Cookie或本地存储是最佳选择。使用php时,您可以使用会话:Cookies或
localStorage
:这是.HTML文件包含JavaScript文件的唯一方法,JavaScript可以设置cookie。不,我没有使用php。我如何使用localstorage或Cookie来保存此特定变量?如果您只传递名称,则可以使用查询字符串或哈希值传递它:“mypage.html?name=MyName”或“mypage.html#MyName”并在您的另一页上捕获这些变量。如果我的当前网页也在其位置/url中声明了该变量,有没有一种方法可以从那里检索它,例如它类似于:“www.test.com?name=Jordan”。||另外,对于你的代码,你能做一些额外的评论,我可以编辑什么来个性化它,我不知道什么是{expires:7,…}等等。抱歉,我还在学习一些基础知识。要从URL获取用户名,您需要使用一些后端语言(PHP、Ruby、Node.js等)执行get函数。但如果您只想使用JS,您可以使用如下哈希标记解析url:domain.com/#/John。我会给你做一些提琴。Expires是天数,也就是说它将在客户端浏览器中保存多少天。路径用于在您需要的每个页面上设置cookie,例如“/”意味着您可以在您的域上这样做,该域是全局的,可以从站点中的任何子页面访问。依靠这把小提琴,它会给你“测试”或者你在url中键入的任何东西。源代码如下: