javascript 在单击另一个页面上的链接时传递参数

Javascript Passing Parameters When Clicked on Link On Another Page

本文关键字:链接 参数 单击 另一个 javascript      更新时间:2023-09-26

我在我的网站上实现了一个滑块,并希望在单击另一个页面上的链接时登陆特定值:

这是我想更改的脚本和参数:

$("#screeningSlider").ionRangeSlider({
    hide_min_max: true,
    keyboard: true,
    from: 20,
    min: 1,
    max: 2000,
    step: 0,
    grid_num: 4,
    prettify_separator: ",",
    postfix: " Units",
    max_postfix: "+",
    force_edges: true,
});

因此,在另一个页面上,我想单击一个按钮,该按钮将允许我登陆此页面,但是参数 FROM 为 10 而不是上面的默认值。仅当从该特定按钮中进行选择时,才应发生这种情况。

这是我的网站,有滑块:http://therrd.com/screening.html#tenant-Screening

如果不以其他形式存储JavaScript值,然后将其解析回JavaScript,则在页面之间共享JavaScript值是不可能的。

您可以使用 URL 参数,然后分析传入的 URL 并从那里导入默认的 from 值。

<a href='http://www.yoursite/?from=10'>Referral </a>

这样做的缺点是,很明显,任何人都可以偷看您的URL,然后尝试玩弄您的系统(想想如果他们将其设置为?from=0并且您没有防止这种情况会发生什么)。您还需要防止注入攻击。

您可以使用localStorage在他们单击该特定按钮后设置该键,然后在加载主页时检查该键localStorage以获取预期的默认from值。

为特殊链接设置单击时的值:

$('#link').on('click', function(){
  localStorage.setItem('fromValue', 10);
});

并在加载时检索结果页面:

var fromValue = localStorage.getItem('fromValue')
if (fromValue) { /* adjust the slider's default from value*/ }

如果你不想使用服务器端,你可以这样做

[已编辑]

1 - 设置链接

<a href="yourpage.html?slide=10">Go</a>

2 - 在您的页面中设置您的函数.html

  vals = {max: 100, min: 0, def: 20} //use your own values here for max min and def
  var param = window.location.href.split("slide=");
  slide = isNaN(param[param.length - 1]) || 
          param[param.length - 1] > vals.max ||
          param[param.length - 1] < vals.min ? vals.def : param[param.length - 1];
          //check if there is a url param, if it's a number and if it's in range      
  $("#screeningSlider").ionRangeSlider({
        hide_min_max: true,
        keyboard: true,
        from: slide,
        min: 1,
        max: 2000,
        step: 0,
        grid_num: 4,
        prettify_separator: ",",
        postfix: " Units",
        max_postfix: "+",
        force_edges: true,
  });