Это может быть немного странно, но у меня есть идея для этого.
Подготовьте свои страницы для загрузки с параметром GET 'ifarme'.
- Когда есть 'iframe 'загрузите его с помощью некоторого javascript для запуска родительского show_iframe_content ()
- Когда нет' iframe ', просто загрузите страницу со скрытым элементом iframe под названием' preloader '
Ваша цель - убедиться, что каждая из ваших ссылок открыта в «preloader» с дополнительным параметром get «iframe», и когда загрузка iframe заканчивается, и она вызывает show_iframe_content (), вы копируете контент на родительскую страницу..
Например: ссылка нажата -> переход к фазе загрузки -> загружен iframe -> вызван show_iframe_content () -> содержимое iframe скопировано обратно в родительский -> переход к нормальной фазе
все хорошо, так как, если сканер посещает все ваши страницы, он сделает это без параметра get 'iframe', так что он может пройти по всем вашим страницам, как обычно, но когда вывы используете его в браузере, вы заставляете ваши ссылки творить магию выше.
Это всего лишь набросок, но я уверен, что это можно сделать правильно.
РЕДАКТИРОВАТЬ: На самом деле вы можете сделать это с помощью простого AJAX, без iframe, дело в том, что вы должны изменить страницу после того, как она была загружена в браузере, чтобы загрузить связанный контент с помощью AJAX.Также сканеры должны видеть ссылки.
Пример скрипта:
$.fn.initLinks = function() {
$("a",this).click(function() {
var url = $(this).attr("href");
// transition to loading phase ...
// Ajax post parameter tells the site lo load only the content without header/footer
$.post(href,"ajax=1",function(data) {
$("#content").html(data).initLinks();
// transition to normal phase ...
});
return false;
});
};
$(function() {
$("body").initLinks();
});