Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.07.2016, 00:08
Новичок на форуме
Отправить личное сообщение для goga5 Посмотреть профиль Найти все сообщения от goga5
 
Регистрация: 11.07.2016
Сообщений: 5

Удалить некоторые ссылки со страницы при помощи js
Здравствуйте! Подскажите пожалуйста, как безопасно можно удалить некоторые ссылки со страницы при помощи js кода ? например, на странице имеем несколько кликабельных ссылок с разными доменами, мне нужно удалить из них некоторые ссылки, например где присутствуют домены "domen1.ru" и "domen2.ru" а остальные оставить. Некоторые ссылки обхватаны тегом <ноиндекс><А >анкор</А></ноиндекс> и желательно задействовать поиск для удаления как с ноиндексом так и без него. Мне только в шаблоне для смартфонов нужно удалить показ некоторых ссылок, иначе очистил бы полностью БД от этих ссылок, подскажите как это сделать при помощи JS кода ? Помогите пожалуйста и сообщите, не повлияет ли такое удаление ссылок негативно со стороны поисковых систем ? Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 12.07.2016, 01:19
Новичок на форуме
Отправить личное сообщение для goga5 Посмотреть профиль Найти все сообщения от goga5
 
Регистрация: 11.07.2016
Сообщений: 5

То что нужно, огромное спасибо!

Вот, что еще я выкопал, кстати это тоже ваша работа рони:

<span id = "links">
 <a href="http://www.youtube.com/watch?foobar">youtube</a><br>
 <br>
 <a href="https://www.youtube.com">youtube</a><br>
 </span> 

<script>
links.innerHTML = links.innerHTML.replace(
  /<\s*a\s+[\s\S]*?href\s*=\s*['"]\s*?https?:\/\/(www\.)?youtube\.com[^>]*>[^<]*<\s*\/\s*a[^>]*>/gi, "Ссылка доступна для ОС Windows"
)
</script>


заменяет ссылку на текст. Как тут добавить еще домен чтобы не дублировать полностью код ? и убрать зависимость от
Цитата:
<span id = "links">
?


И еще один вопрос, при просмотра HTML-кода ссылки присутствуют - возможно ли их убрать ?

Последний раз редактировалось goga5, 12.07.2016 в 01:29.
Ответить с цитированием
  #3 (permalink)  
Старый 12.07.2016, 01:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

goga5,
не осилил ...
Ответить с цитированием
  #4 (permalink)  
Старый 12.07.2016, 02:02
Новичок на форуме
Отправить личное сообщение для goga5 Посмотреть профиль Найти все сообщения от goga5
 
Регистрация: 11.07.2016
Сообщений: 5

Твой пример некорректно срабатывает (

Всё равно огромное спасибо тебе!
Ответить с цитированием
  #5 (permalink)  
Старый 12.07.2016, 05:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от goga5
Твой пример некорректно срабатывает (
где код?
Ответить с цитированием
  #6 (permalink)  
Старый 12.07.2016, 13:01
Новичок на форуме
Отправить личное сообщение для goga5 Посмотреть профиль Найти все сообщения от goga5
 
Регистрация: 11.07.2016
Сообщений: 5

Сообщение от рони
где код?
Например вот так уже неправильно срабатывает, тут я решил оставить ссылку "domen2.ru" но отображается снова domen3.ru


<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">

  <script>
 window.addEventListener("DOMContentLoaded", function() {
    (function(a) {
        [].forEach.call(document.links, function(b) {
            a.some(function(a) {
                return ~!!b.getAttribute("href").indexOf(a)
            }) && b.parentNode.removeChild(b)
        })
    })(["domen1.ru", "domen3.ru"])
});
  </script>
</head>

<body>
<a href="domen1.ru">domen1.ru</a>
<a href="domen3.ru">domen3.ru</a>
<a href="domen2.ru">domen2.ru</a>
</body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 12.07.2016, 14:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

goga5,
исправил проверяйте
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">

  <script>
 window.addEventListener("DOMContentLoaded", function() {
    (function(a) {
       [].slice.call(document.links).forEach(function(b) {
            a.some(function(a) {
                return !!~b.getAttribute("href").indexOf(a)
            }) && b.parentNode.removeChild(b)
        })
    })(["domen1.ru", "domen3.ru"])
});
  </script>
</head>

<body>
<a href="domen1.ru">domen1.ru</a>
<a href="domen3.ru">domen3.ru</a>
<a href="domen2.ru">domen2.ru</a>
</body>
</html>
Ответить с цитированием
  #8 (permalink)  
Старый 12.07.2016, 14:41
Новичок на форуме
Отправить личное сообщение для goga5 Посмотреть профиль Найти все сообщения от goga5
 
Регистрация: 11.07.2016
Сообщений: 5

Теперь всё работает, спасибо огромное!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка формы при загрузке страницы Shimmy AJAX и COMET 4 26.11.2013 14:51
Можно ли редактировать ф.с iPhone при помощи js? lonkonpetr Общие вопросы Javascript 3 16.03.2013 23:07
Автозапуск скрипта при загрузке страницы HepoH Javascript под браузер 3 31.03.2012 22:27
RPG при помощи JS Володя Шишкин Общие вопросы Javascript 2 10.03.2012 16:44
Подскажите как при помощи JS hta в трею свернуть kimboo Общие вопросы Javascript 4 11.07.2008 16:00