Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   проверка адресной строки (https://javascript.ru/forum/misc/46030-proverka-adresnojj-stroki.html)

kowapos 25.03.2014 16:24

проверка адресной строки
 
здравствуйте. с js никак не знаком, но появилась потребность решить одну проблему:
в шапке есть мета теги:

<link href="http://......." rel="alternate" media="handheld" title="page on mobile site" />
<link href="http://......." rel="alternate" media="handheld" title="page on mobile site" />
<link href="http://......." rel="alternate" media="print" title="print version" />

но если в адресной строке присутствует якорь (http://.......html#что_либо) что мета теги выше должны исчезнуть, буду ооочень благодарен, если покажете как такое делается

PS: на странице есть другие мета теги, которых не должна касаться данная операция

jsnb 25.03.2014 16:56

function removeLinks() {
  var links = document.head.getElementsByTagName('link');
  for (var i = 0; i < links.length; i++) {
    var linkTitle = links[i].getAttribute('title');
    if (linkTitle === 'page on mobile site' || linkTitle === 'print version') {
      document.head.removeChild(links[i]);
      i--;
    }
  }
}

if (location.hash !== '') removeLinks();

рони 25.03.2014 17:15

jsnb,
на всякий случай - если удалять с конца списка корректировать i ненужно

kowapos 25.03.2014 18:03

Цитата:

Сообщение от jsnb (Сообщение 304179)
function removeLinks() {
  var links = document.head.getElementsByTagName('link');
  for (var i = 0; i < links.length; i++) {
    var linkTitle = links[i].getAttribute('title');
    if (linkTitle === 'page on mobile site' || linkTitle === 'print version') {
      document.head.removeChild(links[i]);
      i--;
    }
  }
}

if (location.hash !== '') removeLinks();

спасибо большое, но у меня абсолютно ничего не происходит(((

ruslan_mart 25.03.2014 18:46

Цитата:

Сообщение от kowapos
в шапке есть мета теги:

А где метатеги то? :blink:

Как вариант, вместо Ваших "метатегов" вставить такое:

<script type="text/javascript">
if(window.location.hash.length < 2) {
   document.write('<link href="http://......." rel="alternate" media="handheld" title="page on mobile site" /><link href="http://......." rel="alternate" media="handheld" title="page on mobile site" /><link href="http://......." rel="alternate" media="print" title="print version" />');
}
</script>

рони 25.03.2014 18:56

kowapos,
скрипт в конец страницы или так
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <link href="http://......." rel="alternate" media="handheld" title="page on mobile site" />
 <link href="http://......." rel="alternate" media="handheld" title="page on mobile site" />
 <link href="http://......." rel="alternate" media="print" title="print version" />
  <script>
       window.onload = function ()
{
    function removeLinks() {
  var links = document.head.getElementsByTagName('link');
  for (var i = links.length-1; links[i] ;i--) {
    var linkTitle = links[i].getAttribute('title');
    if (linkTitle === 'page on mobile site' || linkTitle === 'print version') {
      document.head.removeChild(links[i]);
    }
  }
}

//if (location.hash !== '') removeLinks();
removeLinks(); //для теста
alert(document.head.innerHTML) //для теста
}
  </script>
</head>

<body>

</body>

</html>


Часовой пояс GMT +3, время: 06:46.