Прекратить обновление определенного div при просмотре - PullRequest
1 голос
/ 20 ноября 2011

Я работаю на моем сайте, где у меня есть музыкальный проигрыватель. Раздражает то, что когда я перехожу на другую страницу, проигрыватель останавливается и начинает с самого начала ... Я хочу иметь постоянный музыкальный проигрыватель. Итак, как я могу сделать div, который содержит музыкальный проигрыватель, статичным при переходе на другую страницу? Сайт: демо (точка) здринги-арт (точка) ком

Спасибо!

Ответы [ 4 ]

1 голос
/ 20 ноября 2011

Использование фреймов - это одно из решений, но поскольку вы используете JQuery на своем сайте, вы должны проверить .load (http://api.jquery.com/load/).). Это позволяет вам загружать содержимое другой страницы и помещать его где-то на текущей странице. Примерно так:

$(function () {
  $("a").click(function (e) {
    e.preventDefault(); // don't follow the link
    $("#ja-container").load($(this).attr("href") + " #ja-container");
    /* Load the new page using ajax request, take the content in #ja-container from that new page and put it in the current page's #ja-container */
  });
});

Это не полное решение: когда кто-то нажимает на Концерты -> Повестка дня, вы должны держать Повестку дня видимым.

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

1 голос
/ 20 ноября 2011

Гурав-шах прав, сеть не имеет состояния, поэтому, если вы меняете страницы, у вас есть только несколько вариантов для этого.

Рамки, да, прежде чем кто-то кричит, это то, для чего они были разработаны. У вас может быть музыкальный проигрыватель в одном фрейме HTML, а остальная часть страницы - в другом, поэтому при перемещении вы обновляете только основной фрейм контента.

Или сделайте так, как предлагает Гурав, и сделайте весь свой сайт одной страницей и обновите контент с помощью Ajax, чтобы музыка Div не изменилась.

Передача текущей позиции игрока на следующую страницу при нажатии на ссылку.

     <a href="#" onclick="window.location.href='{new page}?musicpositionseconds="+getsecond()+"'; return false">to another page</a>

Где getseconds () возвращает текущую позицию музыкального проигрывателя и передает ее на следующую страницу, затем, когда эта страница загружается, вы читаете переменную из URL и запускаете проигрыватель оттуда.

1 голос
/ 20 ноября 2011

WEB не имеет статуса. Поэтому, если вы перейдете на другую страницу, div не сможет остаться прежним.

Хотя то, что вы можете сделать, это ... Хм, как следует. Имейте одну страницу и ваш div там. Затем другая часть страницы загружается через ajax. также при нажатии на ссылку будут загружены только части страниц. Кажется, слишком много кодирования, но это единственный возможный вариант. Например, возьмите facebook

0 голосов
/ 20 ноября 2011

Ну, да, HTTP не имеет состояния.что вы можете сделать, это создать cookie-файл и постоянно обновлять его текущим местоположением / временем игрока.Таким образом, когда вы переходите на любую другую страницу, вы можете прочитать время / местоположение из куки.

в противном случае при использовании метода «меньше файлов cookie» отправка AJAXed-данных о местоположении / времени обратному серверу-клиенту будет слишком большой сетью.

Если бы я делал это, я бы пошел путем cookie.

...