Изменить атрибут HREF для щелчка правой кнопкой мыши сохранить как? - PullRequest
2 голосов
/ 30 апреля 2009

Итак, у меня есть это ...

$(this).attr("href", "http://site.com/images/downloads/wp-" + $(this).parent().parent().attr("id") + "-1024x768.jpg");

Проблема в том, что когда я щелкаю правой кнопкой мыши> Сохранить ссылку как ..., это не указывает на правильное изображение. Я не уверен, возможно ли это сделать или нет, но я был бы очень признателен, если бы кто-то мог помочь мне в этом. Спасибо!

Ответы [ 3 ]

1 голос
/ 30 апреля 2009

Используйте диагностический инструмент, такой как Firebug или DOM Inspector, чтобы проверить фактическое, окончательное значение атрибута.

Самое простое объяснение различного поведения нажатия и сохранения - это перехват события. «Сохранить как» использует фактическое значение href, в то время как выбор ссылки в противном случае может быть перехвачен (клавиатура, мышь вниз и вверх, щелчок), чтобы установить местоположение в другое место.

0 голосов
/ 20 мая 2009

вот идея ... поместите "реальное" местоположение в HTML, сгенерированный php

затем добавьте дополнительный атрибут с «поддельным» местоположением, а затем используйте jquery для переключения их при загрузке страницы. Это может работать в зависимости от ситуации (т. Е. Он не разрушит все, если у пользователя отключен js, и он использует «реальное» местоположение)

это решит вашу проблему и сохранит конечный результат одинаковым для почти всех ваших пользователей:)

0 голосов
/ 01 мая 2009

Возможно, вы устанавливаете это в $(document).ready(), но тот факт, что вы используете $(this), указывает на то, что ваш код связан с событием onclick в <a>. Это объясняет, почему при наведении на ссылку не отображается измененная ссылка, значение не изменяется до тех пор, пока посетитель не нажмет на ссылку.

Можно ли в соответствующем разделе вашего $(document).ready() подтвердить мои подозрения?

Если я прав, то решением должно быть изменение href как части вашей ready() обработки, а не привязка к событию onclick в то время.

...