Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.03.2014, 16:24
Аспирант
Отправить личное сообщение для kowapos Посмотреть профиль Найти все сообщения от kowapos
 
Регистрация: 25.03.2014
Сообщений: 36

проверка адресной строки
здравствуйте. с 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: на странице есть другие мета теги, которых не должна касаться данная операция
Ответить с цитированием
  #2 (permalink)  
Старый 25.03.2014, 16:56
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

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();
Ответить с цитированием
  #3 (permalink)  
Старый 25.03.2014, 17:15
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

jsnb,
на всякий случай - если удалять с конца списка корректировать i ненужно
Ответить с цитированием
  #4 (permalink)  
Старый 25.03.2014, 18:03
Аспирант
Отправить личное сообщение для kowapos Посмотреть профиль Найти все сообщения от kowapos
 
Регистрация: 25.03.2014
Сообщений: 36

Сообщение от jsnb Посмотреть сообщение
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();
спасибо большое, но у меня абсолютно ничего не происходит(((
Ответить с цитированием
  #5 (permalink)  
Старый 25.03.2014, 18:46
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

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

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

<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>

Последний раз редактировалось ruslan_mart, 25.03.2014 в 18:50.
Ответить с цитированием
  #6 (permalink)  
Старый 25.03.2014, 18:56
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

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>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение данных из адресной строки Trusteg Events/DOM/Window 4 19.11.2013 13:48
очистка адресной строки diakon Общие вопросы Javascript 7 18.04.2013 11:53
Запуск скрипта с адресной строки olga153b Events/DOM/Window 3 24.09.2012 11:34
Чтение массива из адресной строки Xalyavbich Общие вопросы Javascript 0 27.06.2012 15:56
[JavaScript] получение данных из адресной строки после знака # GiveMeABreak AJAX и COMET 2 16.09.2009 00:36