Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Выполнение события после перехода по ссылке (https://javascript.ru/forum/events/64427-vypolnenie-sobytiya-posle-perekhoda-po-ssylke.html)

cuoresanguinato 10.08.2016 14:29

Выполнение события после перехода по ссылке
 
помогите пожалуйста, сайт сделан на Wordpress, есть страница "1", на странице есть элемент <a id="1"> который ведет на страницу "2". На странице "2" есть элемент <ul id="1">, как сделать так что бы при нажатии на элемент "а" на первой странице, после перехода на вторую срабатывал клик по элементу "ul", который при нажатии вызывает скрип для добавления информации на страницу

warren buffet 10.08.2016 16:27

Если вот так

Цитата:

как сделать так что бы именно при нажатии на элемент "а" на первой странице,

болд мой, то надо добавить hash в адрес как индикатор что переход сделан именно с этого именно элемента. Или, если сервер позволяет добавить параметр, или часть пути, если вп позволяет задавать произвольно конечные части путей.

Например в ссылке на странице 1 в элементе 1 будет href

example.com/page2.html#a1
example.com/page2?from=a1
example.com/page2/a1

тогда на странице 2 будет скрипт, который следит за location и если там есть известный индикатор, то кликнуть на чем-то или чего-то еще сделать полезного.

ЗЫ Можешь в куки записать после щелчка на id="1" и до перехода, тогда тот скрипт будет читать куки.

xbit 10.08.2016 21:03

На первую страницу вставьте:
document.getElementById('1').onclick = function(e)
{
    setCookie('show_me_you_power', 'i_do');
}


На вторую:
document.onload = function(e) { 
var get = getCookie('show_me_you_power');
if ( get == 'i_do' ) document.getElementById('1').click();
}


На обе страницы:
function getCookie(name) {
  var matches = document.cookie.match(new RegExp(
    "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
  ));
  return matches ? decodeURIComponent(matches[1]) : undefined;
}

function setCookie(name, value, options) {
  options = options || {};

  var expires = options.expires;

  if (typeof expires == "number" && expires) {
    var d = new Date();
    d.setTime(d.getTime() + expires * 1000);
    expires = options.expires = d;
  }
  if (expires && expires.toUTCString) {
    options.expires = expires.toUTCString();
  }

  value = encodeURIComponent(value);

  var updatedCookie = name + "=" + value;

  for (var propName in options) {
    updatedCookie += "; " + propName;
    var propValue = options[propName];
    if (propValue !== true) {
      updatedCookie += "=" + propValue;
    }
  }

  document.cookie = updatedCookie;
}


Часовой пояс GMT +3, время: 02:47.