2010-08-13 2 views
8

я шел через веб-сайт я взял снова и наткнулся на этот раздел в одной из страниц:Зачем использовать window.location в гиперссылке?

<a href="javascript:window.location='<%=GetSignOutUrl()%>';"> 
    // img 
</a> 

Видимо тот, кто когда-либо использовал сайт без JavaScript не сможет выйти должным образом (удивительно, это никогда не возникало).

Итак, первое, что приходит на ум

<a href="<%=GetSignOutUrl()" onclick="javascript:window.location='<%=GetSignOutUrl()%>';"> 
    // img 
</a> 

Тогда я понял, что я не знаю, почему я держу яваскрипт вызова вокруг вообще. Я просто немного смущен, почему это было бы написано так, в первую очередь, когда обычная связь работала бы нормально. Какое преимущество у windows.location связано с обычной ссылкой?

Это также единственное место на веб-сайте, что я видел нечто подобное этому (пока).

Редактировать: Программист передо мной был компетентным, и именно поэтому я задавался вопросом, не было ли что-то, что я не принимал во внимание, или если он просто сделал простой надзор.

+1

Возможно, попытка скрыть URL-адрес в строке состояния браузера? –

+1

@Russ, не будет ли URL отображаться в отображаемом HTML, как любой обычный HTML? Поэтому при нажатии браузера будет отображаться URL-адрес в адресной строке, как обычно? – DaveDev

+0

Является ли это единственной ссылкой, подобной этому, или они, следовательно, делают это? – Jeroen

ответ

3

Есть три possibilites:

  1. Разработчик пытается применять Javascript использовать перед отправкой пользователю вместе.
  2. Разработчик пытался замаскировать ссылку href в ссылке. Возможно, это было так, что он не будет сканироваться эффективно, или строка состояния имеет к этому какое-то отношение.
  3. Разработчик был нонконформистом.

Я бы удалил его и посмотрел, не сломается ли он. Но опять же, я конформист.

+1

Я согласен с пунктом 2, при условии, что вместо «нонконформистского» пункта 3 можно изменить на «неправомочный» (я люблю называть иронические термины :-)) ... во всяком случае, причина, по которой я согласен с пунктом 2, что, возможно, они не знают, что такое файл Robots.txt, и это единственный способ предотвратить постоянную попытку Google выйти из системы? – DaveDev

0

Возможно, это связано с тем, что используются несколько доменов, а какие были неясными или недоступными в коде?

+1

, но это было бы учтено '<% = GetSignOutUrl()%>' в любом случае. '<% = GetSignOutUrl()%>' возвращает URL (по внешнему виду), потому что 'javascript: window.location' нуждается в URL-адресе для функции – DaveDev

+0

Да, и у вас также может быть ссылка с относительным выводом, Не беспокойтесь о домене. – spig

1

Я полагаю, что если разработчик не знал, чтобы учитывать возможности клиента по выполнению javascript, они, возможно, не знали, что такое href. Это маловероятно, но не невозможно.

0

Возможно, это попытка скрыть ссылку от поисковых систем.

Смежные вопросы