我对js / jquery很新,我试图在一个页面上设置一个varable,存储它,移动页面然后在新页面上使用varable。
我做了一个像这样的标签
a id="ex1" href="/example.hmtl">ONE<a>
点击它会带你到页面/example.html并将名为'image'的varable设置为1,这样jquery id的使用是
$("#ex1").click(function() {
var image = 1;
});
一旦你的页面上的example.html id就像要加载到startAtSlide
$('.iosSlider').iosSlider({
startAtSlide : //value of var 'image' goes here,
snapToChildren : true
});
这是可能的,如果可以的话,我会以正确的方式解决这个问题吗?
答案 0 :(得分:7)
我建议您查看localStorage或尝试使用cookies(如果您想要使用jQuery plugin,则可以使用{{3}}
答案 1 :(得分:2)
刷新页面或导航到另一个(相关的)页面会杀死当前的JavaScript环境并构建另一个页面。
将变量从一个页面传递到另一个页面并不像您想象的那么简单。
@siidheesh给出的建议是将一些变量的内容放在location-hash中,即#符号后面的URL部分。但当然,这在结构方面是有限的 - 你不能把对象只放置标量值,而且在添加多个变量时也要考虑美学。
您看到过这种行为的大多数当前网站都是使用AJAX创建的;这意味着他们不刷新页面或导航到另一个页面(永远)他们总是请求其他页面的内容(通过JavaScript),当他们收到它时,他们将数据加载到感兴趣的区域。
答案 2 :(得分:1)
有两种以上的方式:
使用Cookie存储您的变量,然后在第二页
使用url参数a id="ex1" href="/example.hmtl?startat=1">ONE<a>
传递该变量。然后使用javascript解析该参数(使用location.href)
答案 3 :(得分:1)
将数据写入localStorage使用:
localStorage.setItem.image = 1;
从存储使用中读取它
localStorage.image
这就是全部
答案 4 :(得分:1)
许多人建议使用localStorage
,但我必须警告,localStorage
尚未得到所有浏览器的普遍支持。
Cookie是一种可行的解决方案,但是,出于您的目的,我认为location.hash
是最佳解决方案。您的链接如下所示:
<a href="index.html#1">ONE</a>
并在javascript中获取该变量:
var slideNumber = location.hash.substr(1);
这里我们使用substr跳过location.hash字符串
中提供的#
答案 5 :(得分:0)
您可以在window.location.href上使用正则表达式来获取POST变量的值。
执行此操作的功能:
function getUrlVars()
{
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,
function(m,key,value)
{
vars[key] = value;
});
return vars;
}
然后您可以使用getUrlVars()["lang"];
获取值(应返回“en”)
只需在您的网址example.html?lang=en