Можем ли мы использовать 2 разных URL на одном и том же теге привязки для отключенного и включенного JavaScript? - PullRequest
1 голос
/ 13 ноября 2009

Можем ли мы использовать 2 разных URL на одном и том же для отключенного и включенного JavaScript

Если включен JavaScript, ссылка должна быть <a href="link1">

и если javascript отключен, тогда ссылка должна быть <a href="link2">

Ответы [ 3 ]

5 голосов
/ 13 ноября 2009

Вы можете установить отключенный JS-URL в разметке, а затем при загрузке страницы использовать JS, чтобы заменить URL-адрес включенным URL-адресом.

HTML:
<a id="id" href="js_disabled_url" />Link</a>


jQuery example:
$(function() {
    $('#id').attr('href','js_enabled_url');
});

Это должно изящно ухудшиться.

2 голосов
/ 13 ноября 2009

Да, просто напишите JavaScript, который находит элемент, который вы хотите изменить href, когда страница загружена.

Пример использования JQuery:

$(function () {
    $('a.changeable').each(function () {
        $(this).attr('href', 'http://google.com/lol');
    });
});

(Не проверено, но вы поняли.)

Таким образом, в основном, если пользователь отключил JavaScript, используется ссылка по умолчанию, в противном случае используется новый URL, заданный сценарием. Таким образом, ваш HTML должен содержать ссылку, которая должна использоваться, когда JavaScript отключен .

0 голосов
/ 13 ноября 2009

Если я правильно вас понимаю, у вас может быть один URL на html-странице, и если javascript работает, пусть javascript меняет URL-адрес на привязке.

Таким образом, вы можете убедиться, что второй URL работает, только если включен JavaScript.

Проблема в том, что если javascript был включен при загрузке страницы, а затем отключен, вы не узнаете.

Но, если вы просто нажали на якорь, вы можете изменить URL-адрес при нажатии, тогда он всегда будет работать правильно, так как, если они отключат JavaScript после загрузки страницы, он все равно перейдет на URL, не являющийся javascript, и, если onclick сработает, он перейдет на другой URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...