Попытка создать браузер внутри браузера - использование AJAX для просмотра сайта без фактического перенаправления, но с рекурсивными проблемами. Помогите? - PullRequest
0 голосов
/ 21 марта 2012

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

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

function linkHijack() {
    $('a').click(function(event) {

      event.preventDefault();
      var link = $(this).attr("href");
      $('div#content').load(link+'div#content', linkHijack());

    });
}

Поначалу кажется, что он работает правильно, но функция не работает нанедавно загруженный контент.Как мне заставить его перехватить новые ссылки?

Ответы [ 2 ]

1 голос
/ 22 марта 2012

Вам нужно делегирование события. .live() устарело с jQuery 1.7!

Используйте .on() вместо:

$('div#content').on('click', 'a', function(e){
      e.preventDefault();
      var link = $(this).attr("href");
      $('div#content').load(link+'div#content');
});

Этот код «прослушивает» клики по div#content, которые «приходят» с a.

0 голосов
/ 21 марта 2012

Вам потребуется использовать .live () для более старых версий jquery, .delegate () для средних версий и .on () для самых новых версий.

Это обеспечит любой новый контент, возвращаемыйУ ajax всплывают события.

$('a').live("click", function(event) {

      event.preventDefault();
      var link = $(this).attr("href");
      $('div#content').load(link+'div#content', linkHijack());
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...