如何更改 URL 参数以停止图像重新加载

发布于 2024-12-24 19:01:04 字数 292 浏览 1 评论 0原文

我有一张图像,我只想在主页上加载一次,通过我的介绍页面访问(它在加载时消失,是我的介绍页面的一种视觉回声)。单击导航栏中的“主页”后,我不希望图像出现在后续视图的主页上。

有人建议我设置 cookie,或使用 URL 参数“指定是否淡入淡出图像”(set /index?nofade=true)。我想尝试后者,因为并不是每个人都启用 cookie。

问题是,在网上搜罗了一天之后,我也不知道该怎么办,(脸红)。

谁能帮助我吗?我是编码新手,所以不确定如何编写/包含“no fade true”位,我正在使用 jquery。

I have an image which I only want to load one time only on the homepage, accessed via my intro page (it fades away, on load, a kind of visual echo from my intro page). I dont want the image to appear on the homepage on subsequent views, after clicking the 'home'in the nav bar .

I've been advised to either set a cookie, or use URL parameters "to designate whether to fade the image or not"(set /index?nofade=true). I wish to try the latter, as not everyone enables cookies.

Thing is, after spending a day trawling the net, I dont know how to do either, (blushes).

Can anyone help me? I'm new to coding, so am uncertain how to write/enclose the 'no fade true' bit, I'm using jquery.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

岁吢 2024-12-31 19:01:04

您可以使用 JavaScript 轻松解析 url 的参数,然后检查特定的“nofade”参数是否存在(或任何其他),如果存在则淡入图像

$(function(){
  // Grab our url parameters and split them into groups
  var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
  // assign parameters to our object
  var params = {};
  for(var i = 0; i < hashes.length; i++){
    var hash = hashes[i].split('=');
    params[hash[0]] = hash[1];
  }
  // Now params contains your url parameters in an object
  if(typeof(params['nofade']) === 'undefined' || !params[nofade]){
    // Perform image fade here

  }
})

You can parse the parameters of the url with javascript easily, then check if that particular 'nofade' param exists (or any other) and fade your image if it does

$(function(){
  // Grab our url parameters and split them into groups
  var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
  // assign parameters to our object
  var params = {};
  for(var i = 0; i < hashes.length; i++){
    var hash = hashes[i].split('=');
    params[hash[0]] = hash[1];
  }
  // Now params contains your url parameters in an object
  if(typeof(params['nofade']) === 'undefined' || !params[nofade]){
    // Perform image fade here

  }
})
¢蛋碎的人ぎ生 2024-12-31 19:01:04

您只需添加一个检查,看看在淡化图像的代码之前是否设置了该查询字符串。

function getQuerystring(key, defaultVal) {
    if (defaultVal == null) {
        defaultVal = "";
    }
    key = key.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regex = new RegExp("[\\?&]" + key + "=([^&#]*)");
    var qs = regex.exec(window.location.href);
    if (qs == null) {
        return defaultVal;
    }
    else {
        return qs[1];
    }
}

if(getQuerystring('nofade') == 'true'){
    //do your fading
}

该函数使用正则表达式来解析您传递给它的查询字符串,如果未找到该查询字符串,则返回其值以及可选设置的默认值

You can just add a check to see if that query string was set before your code to fade the image.

function getQuerystring(key, defaultVal) {
    if (defaultVal == null) {
        defaultVal = "";
    }
    key = key.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regex = new RegExp("[\\?&]" + key + "=([^&#]*)");
    var qs = regex.exec(window.location.href);
    if (qs == null) {
        return defaultVal;
    }
    else {
        return qs[1];
    }
}

if(getQuerystring('nofade') == 'true'){
    //do your fading
}

the function uses a regular expression to parse out the query string you pass it and return its value with an optionally set default if that query string is not found

青春如此纠结 2024-12-31 19:01:04

如果我理解正确的话,当有人访问您的页面 http://www.example.com 时您希望您的徽标每次他们访问该页面时都在那里,然后必须单击您的徽标才能进入并被带到 http:// www.example.com/homepage.php 您的徽标将在其中淡出。

但是,如果他们随后重新加载您的页面,您希望徽标不存在吗?这是正确的吗?

如果是这样,您只需将徽标上的 href 设置为“homepage.php?fade=true”。然后,您可以获取传递的变量并执行 if 语句来查看是否应该重新加载页面或向其显示淡出。

If i understand correctly you want for when someone visits your page http://www.example.com for your logo to be there everytime they visit that page and then have to click on your logo to enter and be taken to http://www.example.com/homepage.php where your logo will fade out.

But if they subsequently reload your page you want the logo to not be there? Is that correct.

If so, you just need to set the href on your logo to "homepage.php?fade=true". Then you can grab that passed variable and do an if statement to see if you should just reload the page or show them the fade out.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文