Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Удалить некоторые ссылки со страницы при помощи js (https://javascript.ru/forum/misc/63969-udalit-nekotorye-ssylki-so-stranicy-pri-pomoshhi-js.html)

goga5 12.07.2016 00:08

Удалить некоторые ссылки со страницы при помощи js
 
Здравствуйте! Подскажите пожалуйста, как безопасно можно удалить некоторые ссылки со страницы при помощи js кода ? например, на странице имеем несколько кликабельных ссылок с разными доменами, мне нужно удалить из них некоторые ссылки, например где присутствуют домены "domen1.ru" и "domen2.ru" а остальные оставить. Некоторые ссылки обхватаны тегом <ноиндекс><А >анкор</А></ноиндекс> и желательно задействовать поиск для удаления как с ноиндексом так и без него. Мне только в шаблоне для смартфонов нужно удалить показ некоторых ссылок, иначе очистил бы полностью БД от этих ссылок, подскажите как это сделать при помощи JS кода ? Помогите пожалуйста и сообщите, не повлияет ли такое удаление ссылок негативно со стороны поисковых систем ? Спасибо!

goga5 12.07.2016 01:19

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

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

<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-кода ссылки присутствуют - возможно ли их убрать ?

рони 12.07.2016 01:54

goga5,
не осилил ...

goga5 12.07.2016 02:02

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

Всё равно огромное спасибо тебе!

рони 12.07.2016 05:48

Цитата:

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

где код?

goga5 12.07.2016 13:01

Цитата:

Сообщение от рони
где код?

Например вот так уже неправильно срабатывает, тут я решил оставить ссылку "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>

рони 12.07.2016 14:06

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>

goga5 12.07.2016 14:41

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


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