[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как "эмулировать" нажатие ссылки другой ссылкой
Alexoff
Господа, здравствуйте!
Не знал как назвать тему, потому и написал так сложно)
В общем задача стоит такая:
Есть у меня ссылка вот такого вида:
<a href="/Handlers/DownloadBinaryFile.ashx?id=1322">ПРОБА ССЫЛКИ</a>

Обратите внимание на её адрес!
Я хочу, чтобы при нажатии на эту ссылку на самом деле срабатывала вот эта ссылка:
http://локалхост/download/down.php?f=filename.pdf

Т.е в первом случае используется ссылка вида ASP.NET, а мне нужно чтобы при нажатии на неё "эмулировалось" (или хз как сказать) нажатие второй ссылки.

Пробовал в .htaccess всякие разности писать - чёт не сработало (при RewriteEngine On).
Мне всё же кажется, что тут относительно .htaccess надо плясать...
Подскажите, кто что думает на этот счёт? :)

P.S. Заранее спасибо!



Спустя 1 час, 18 минут, 11 секунд (7.02.2012 - 20:07) Игорь_Vasinsky написал(а):
а JS не канает?

<a  onclick="get(); return false"  href="/Handlers/DownloadBinaryFile.ashx?id=1322">ПРОБА ССЫЛКИ</a>

<script
type="text/javascript">
function
get()
{
location.href=('http://локалхост/download/down.php?f=filename.pdf');
}
</script>


если не прячешь то

<a  onclick="location.href=('http://локалхост/download/down.php?f=filename.pdf'); return false"  href="/Handlers/DownloadBinaryFile.ashx?id=1322">ПРОБА ССЫЛКИ</a>

Спустя 1 час, 48 минут, 15 секунд (7.02.2012 - 21:55) Alexoff написал(а):
Да, надо вот так попробовать) Завтра на работе испытаю.
Игорь, спасибо вам большое за подсказку!
А что Вы думаете относительно настроек .htaccess? Точнее так: какой вариант решения данного вопроса лучше на Ваш взгляд: через JS или настройки .htaccess ?

Спустя 4 минуты, 40 секунд (7.02.2012 - 22:00) nugle написал(а):
Через js, так как настройки сервера нужно трогать только в крайних случаях.

Спустя 10 минут, 7 секунд (7.02.2012 - 22:10) sergeiss написал(а):
HTACCESS удобен, когда ссылки "статические" и их количество ограничено. То есть, ты их один раз установил и они работают.

Если же подобные ссылки часто формируются динамически, т.е. их достаточно много и они постоянно появляются новые, то HTACCESS тут не особо поможет. Придется по-другому делать.

Работаем в ПХП, на сервере!!!
Система такая. В ссылке, которую видит юзер, указываешь такую страницу, КОТОРОЙ У ТЕБЯ НА САМОМ ДЕЛЕ НЕТУ! В HTACCESS прописываешь обработчик ошибки 404, с редиректом на специальный скрипт. И уже в этом скрипте смотришь, что же было вызвано. И на основании этих данных принимаешь решение о том, что делать, куда переадресовывать или, лучше, что инклудить и обрабатывать. Инфо можно хранить в БД. Тогда количество и сложность ссылок, показываемых пользователю, может быть любым. Можно даже сделать ссылку типа
http://yousite.ru/skachay-file-spechialno-dlya-tebja - а на самом деле вызвать скрипт /download/down.php и обработать определенный файл. Юзер при этом будет видеть ту самую длинную ссылку и не будет знать, какой скрипт на самом деле работает.

В качестве живого примера могу дать такую ссылку (там их много, на этом сайте): http://www.energy-trucks.ru/mercedes-benz-o-303.html
Я точно знаю, что работает это по описанной мной схеме, т.к. сам помогал это делать. И там много других ссылок подобных по сути дела, почти весь сайт состоит из "красивых", читаемых по-русски ссылок. Например, внизу есть такая ссылка http://www.energy-trucks.ru/vykup_avtomobi...i_nadezhno.html

Спустя 6 минут, 59 секунд (7.02.2012 - 22:17) Игорь_Vasinsky написал(а):
я придерживаюсь 2х последних мнений, высказанных участниками дискуссии.

Спустя 28 минут, 59 секунд (7.02.2012 - 22:46) inpost написал(а):
У jQuery есть trigger('click');
А вообще, ссылку туда подставь.

Спустя 5 часов, 35 минут, 20 секунд (8.02.2012 - 04:22) Игорь_Vasinsky написал(а):
ну - подвешивание доп библиотеки не всегда оправдано.

Спустя 3 часа, 33 минуты, 32 секунды (8.02.2012 - 07:55) sergeiss написал(а):
Цитата (inpost @ 7.02.2012 - 23:46)
У jQuery есть trigger('click');

Любое решение на JS, в т.ч. и на jQuery, даёт возможность юзеру узнать, что же там на самом деле сидит за этой ссылкой. А "моё" решение на ПХП полностью скрывает эти данные + даёт возможность еще много чего полезного и прикольного сделать smile.gif

Спустя 36 минут, 48 секунд (8.02.2012 - 08:32) Игорь_Vasinsky написал(а):
Ни какого намёка на JS
<a  id="link" href="/Handlers/DownloadBinaryFile.ashx?id=1322">ПРОБА ССЫЛКИ</a>



убрать в JS файл

<script type="text/javascript">
document.getElementsById('link').onclick=function(){
location.href=('http://локалхост/download/down.php?f=filename.pdf');
}
</script>


или вообще по тегу без ID

document.getElementByTagName('a')[n].onclick

Спустя 1 час, 30 минут, 32 секунды (8.02.2012 - 10:02) Alexoff написал(а):
Да, вчера вечером додумался примерно до такого же варианта, который предложил sergeiss )
Ребят, всем большое спасибо за советы, есть над над чем подумать, есть что ДОдумать и переварить! smile.gif

Спустя 1 час, 37 минут, 29 секунд (8.02.2012 - 11:40) inpost написал(а):
sergeiss
Зато если бы за предыдущие 2 года кто-нибудь бы ляпнул языком о том, что есть такая вещь, как trigger('click'), то на прошлой неделе я бы не гуглил пол дня в поисках адекватного решения smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.