как изменить параметры URL, чтобы остановить перезагрузку изображения - PullRequest
1 голос
/ 03 января 2012

У меня есть изображение, которое я хочу загрузить только один раз только на главной странице, доступ к которому осуществляется через мою начальную страницу (при загрузке оно исчезает, своего рода визуальное эхо от моей начальной страницы).Я не хочу, чтобы изображение появлялось на главной странице при последующих просмотрах после нажатия кнопки «home» на панели навигации.

Мне посоветовали либо установить файл cookie, либо использовать параметры URL-адреса, чтобы указатьвыцветать или нет »(set / index? nofade = true).Я хочу попробовать последнее, так как не все включают куки.

Дело в том, что, потратив день на траление в сети, я тоже не знаю, как это сделать (краснеет).

Кто-нибудь может мне помочь?Я новичок в кодировании, поэтому не знаю, как написать / заключить бит «не исчезает, правда», я использую jquery.

Ответы [ 3 ]

2 голосов
/ 03 января 2012

Вы можете легко проанализировать параметры URL с помощью javascript, а затем проверить, существует ли этот конкретный параметр '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

  }
})
1 голос
/ 03 января 2012

Если я правильно понимаю, вы хотите, чтобы, когда кто-то посещал вашу страницу http://www.example.com, чтобы ваш логотип присутствовал при каждом посещении этой страницы, а затем нажмите на ваш логотип, чтобы войти и перейти на http://www.example.com/homepage.php, где ваш логотип исчезнет.

Но если они впоследствии перезагрузят вашу страницу, вы хотите, чтобы логотип не был там? Это правильно.

Если это так, вам просто нужно установить href для вашего логотипа на "homepage.php? Fade = true". Затем вы можете получить эту переданную переменную и выполнить оператор if, чтобы увидеть, стоит ли вам просто перезагрузить страницу или показать им исчезновение.

1 голос
/ 03 января 2012

Вы можете просто добавить проверку, чтобы увидеть, была ли задана эта строка запроса перед тем, как ваш код затушевывает изображение.

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
}

функция использует регулярное выражение для анализа строки запроса, которую вы передаете, ивернуть его значение с опционально установленным значением по умолчанию, если строка запроса не найдена

...