В таком случае в Хроме не срабатывает событие load, если изображение было взято из кэша браузера, т.к. скрипт, назначающий обработчики, может оказаться загружен позже, чем сами изображения.
NEDODESIGNER, вы можете при нажатии на кнопку отправить запрос на сервер. А уже на стороне сервера - что угодно записать в файл, хранящийся на сервере.
Ibishka, как вы планируете различать между собой поисковики и обычных пользователей?
А если хотите закрыть какие-то данные от ботов, сделайте эти данные доступными только после авторизации, заодно спасёте их не только от ботов, но и от пользователей, которым они не предназначены.
А на клиенте, когда выполняете запрос, как именно устанавливаете заголовок X-Requested-With: XMLHttpRequest ? Этот заголовок должен приходить с клиента, а не быть в ответе сервера.