创建一个变量并在页面之间移动时“存储它”,jQuery

creating a variable and 'storing it' when moving between pages, jquery

本文关键字:存储 移动 存储它 jQuery 之间 一个 变量 创建      更新时间:2023-09-26

我对 js/jquery 来说很新,我试图在一个页面上设置一个变量,存储它,移动页面,然后在新页面上使用变量。

我做了一个这样的标签 a id="ex1" href="/example.hmtl">ONE<a>

单击时会将您带到页面/example.html并将一个名为"image"的变量设置为 1,为此 jquery id 使用

$("#ex1").click(function() {
  var image = 1;
});

一旦你的页面上示例.html id喜欢的可变"图像"的值被加载到startAtSlide的值中

$('.iosSlider').iosSlider({
    startAtSlide   : //value of var 'image' goes here,
    snapToChildren : true
});

有可能吗,如果是这样,我是否以正确的方式去做?

我建议你看看localStorage,或者你尝试使用cookie(对于cookie,如果你想使用它,你有一个jQuery插件)

刷新页面或导航到另一个(相关)页面会杀死当前的 JavaScript 环境并构建另一个环境。

将变量从一个页面传递到另一个页面并不像您想象的那么简单。

@siidheesh给你的建议是将一些变量的内容放在位置哈希中,即 URL 的那部分在 # 符号之后。但这当然在结构方面是有限的 - 你不能只放置对象标量值,并且在添加多个变量时就美学而言。

您已经看到一些类似行为的当前大多数网站都是使用 AJAX 创建的;这意味着它们不会刷新页面或导航到另一个页面(永远),他们总是请求该其他页面的内容(通过 JavaScript),当他们收到它时,他们将数据加载到感兴趣的区域。

有两种

以上的方法:

  1. 使用 cookie 存储变量,然后在第二页中检索它

  2. 使用 url 参数传递该变量 a id="ex1" href="/example.hmtl?startat=1">ONE<a> .然后使用 javascript 解析该参数(使用 location.href)

将数据

写入本地存储使用:

localStorage.setItem.image = 1;

从存储使用中读取它

localStorage.image

就这样

许多人建议使用 localStorage ,但我必须警告,到目前为止,并非所有浏览器都普遍支持localStorage

Cookie 是一个可行的解决方案,但是,对于您的目的,我认为location.hash将是最好的解决方案。您的链接如下所示:

<a href="index.html#1">ONE</a>

要在javascript中获取该变量:

var slideNumber = location.hash.substr(1);

在这里,我们使用 substr 跳过 location.hash 字符串中提供#

你可以在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