# Ошибка при клике на логотип главной страницы

**URL:** https://meta.discourse.org/t/error-when-clicking-on-the-homepage-logo/306644
**Category:** Development
**Created:** [03.Май.2024 12:38:35 UTC](https://meta.discourse.org/t/error-when-clicking-on-the-homepage-logo/306644 "2024-05-03T12:38:35Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![ogulcan1787](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ogulcan1787/32/128589_2.png) [@ogulcan1787](https://meta.discourse.org/u/ogulcan1787)
#### Post date: [03.Май.2024 12:38:35 UTC](https://meta.discourse.org/t/error-when-clicking-on-the-homepage-logo/306644/1 "2024-05-03T12:38:35Z")

</div>

Привет.  
Я покажу вам это на изображениях.  
Я получал эту ошибку до последнего обновления.  
После установки обновления ошибка продолжает появляться.

(Гüncel - Текущий)  
 ![Ekran görüntüsü 2024-05-03 153512](https://cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/5/e/6/5e630aaef94226e7421af0c842652218b76327b1.png)

Я удалил весь код с сайта и попробовал снова, но ошибка всё ещё появляется.

 ![mistake](https://global.discourse-cdn.com/meta/original/4X/5/9/0/5905f7c145ee76fa821ea6e2abd023b7590de42d.png)

Перевод

Ошибка  
Что-то пошло не так.

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [03.Май.2024 12:41:24 UTC](https://meta.discourse.org/t/error-when-clicking-on-the-homepage-logo/306644/2 "2024-05-03T12:41:24Z")

</div>

Это происходит и в безопасном режиме? Проверьте также консоль браузера на наличие ошибок при нажатии, а также посмотрите в `/logs`, чтобы узнать, есть ли там дополнительные сведения.

---

<div class="post-metadata">

### Author: ![ogulcan1787](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ogulcan1787/32/128589_2.png) [@ogulcan1787](https://meta.discourse.org/u/ogulcan1787)
#### Post date: [03.Май.2024 12:50:29 UTC](https://meta.discourse.org/t/error-when-clicking-on-the-homepage-logo/306644/3 "2024-05-03T12:50:29Z")

</div>

Безопасный режим активен, и на странице журналов ошибок не видно. Возможно, я что-то не понимаю.

Последние записи журналов.  
 ![Ekran görüntüsü 2024-05-03 154929](https://cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/3/d/4/3d4778c832b2b4bb18c7e879768b86f391352b0a_2_690x23.png)

Я попытался отключить безопасный режим. Ошибка всё равно появляется.

Кстати, при повторном нажатии на неё ошибка исчезает, и отображается главная страница.

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [03.Май.2024 12:56:14 UTC](https://meta.discourse.org/t/error-when-clicking-on-the-homepage-logo/306644/4 "2024-05-03T12:56:14Z")

</div>

![image](https://global.discourse-cdn.com/meta/original/4X/3/7/c/37c1027f2ac7cd1b5974bbbe04ffd6bb60320918.png)

При загрузке компонентов темы и выгрузке плагинов я вижу некоторые ошибки.

Возможно, стоит проверить ваши недавние кастомизации.

---

<div class="post-metadata">

### Author: ![ogulcan1787](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ogulcan1787/32/128589_2.png) [@ogulcan1787](https://meta.discourse.org/u/ogulcan1787)
#### Post date: [03.Май.2024 12:58:40 UTC](https://meta.discourse.org/t/error-when-clicking-on-the-homepage-logo/306644/5 "2024-05-03T12:58:40Z")

</div>

> [@Arkshine](#):
>
> Я вижу некоторые ошибки при загрузке плагинов (TC, похоже, работает нормально), но не могу понять их источник.
> 
> Какие плагины вы установили?

Спасибо за ваш интерес.

Последний плагин: GIF

Все плагины

 ![Ekran görüntüsü 2024-05-03 155737](https://global.discourse-cdn.com/meta/original/4X/7/8/2/7821aae5e8f382ff1d3151a759194f3c550edf00.png)

 ![Ekran görüntüsü 2024-05-03 155903](https://global.discourse-cdn.com/meta/original/4X/8/a/e/8ae9b2dd4f9b79da8b600eb02fe2d4a4f73c459a.png)

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [03.Май.2024 13:03:54 UTC](https://meta.discourse.org/t/error-when-clicking-on-the-homepage-logo/306644/6 "2024-05-03T13:03:54Z")

</div>

Есть ли у вас какие-либо пользовательские настройки JS вне удалённых компонентов?

Я бы попробовал отключить все компоненты и включать их по одному, пока не появится ошибка.

---

<div class="post-metadata">

### Author: ![ogulcan1787](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ogulcan1787/32/128589_2.png) [@ogulcan1787](https://meta.discourse.org/u/ogulcan1787)
#### Post date: [03.Май.2024 13:04:57 UTC](https://meta.discourse.org/t/error-when-clicking-on-the-homepage-logo/306644/7 "2024-05-03T13:04:57Z")

</div>

> [@Arkshine](#):
>
> Возможно, стоит взглянуть на ваши последние кастомизации.

```plaintext
<script>
function moveTagsToTitle() {
    const mainLinks = document.querySelectorAll('.main-link');
    mainLinks.forEach(mainLink => {
        const discourseTags = mainLink.querySelector('.discourse-tags');
        const titleElement = mainLink.querySelector('.title');

        if (discourseTags && titleElement) {
            const tags = discourseTags.querySelectorAll('.discourse-tag');

            tags.forEach(tag => {
                const tagSpan = document.createElement('span');
                tagSpan.className = 'discourse-tag box';
                tagSpan.textContent = tag.textContent;
                tagSpan.style.fontSize = 'var(--font-down-2)';
                tagSpan.style.borderRadius = '10px';
                tagSpan.style.border = '1px solid #444460';
                tagSpan.style.backgroundColor = '#1f1f33';
                tagSpan.style.margin = '2px';
                tagSpan.style.display = 'inline-block';
                tagSpan.style.overflow = 'hidden';
                tagSpan.style.whiteSpace = 'nowrap';
                tagSpan.style.textOverflow = 'ellipsis';
                tagSpan.style.verticalAlign = 'middle';
                tagSpan.style.marginRight = '5px';
                tagSpan.style.marginLeft = '-6px';
                titleElement.insertBefore(tagSpan, titleElement.firstChild);
            });

            if (discourseTags.parentNode) {
                discourseTags.parentNode.removeChild(discourseTags);
            }
        }
    });

    const topicHeaderExtras = document.querySelectorAll('.topic-header-extra');

    topicHeaderExtras.forEach(topicHeaderExtra => {
        const discourseTags = topicHeaderExtra.querySelector('.discourse-tags');
        const tags = discourseTags.querySelectorAll('.discourse-tag');

        tags.forEach(tag => {
            tag.className = 'discourse-tag box';

            tag.style.borderRadius = '10px';
            tag.style.border = '1px solid #444460';
            tag.style.backgroundColor = '#1f1f33';
            tag.style.margin = '1px';
            tag.style.padding = '2px 8px';
            tag.style.display = 'inline-block';
            tag.style.overflow = 'hidden';
            tag.style.whiteSpace = 'nowrap';
            tag.style.textOverflow = 'ellipsis';
            tag.style.verticalAlign = 'middle';
            tag.style.marginRight = '5px';
            tag.style.marginBottom = '5px';
        });
    });
}

window.addEventListener('load', moveTagsToTitle);
const observer = new MutationObserver(moveTagsToTitle);
const targetNode = document.body;
const observerOptions = {
    childList: true,
    subtree: true
};
observer.observe(targetNode, observerOptions);
</script>

```

Этот код вызывает ошибку.  
Не знаю, как её исправить.  
Мне нужен этот код ☹

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [03.Май.2024 13:40:46 UTC](https://meta.discourse.org/t/error-when-clicking-on-the-homepage-logo/306644/9 "2024-05-03T13:40:46Z")

</div>

Вы перемещаете элементы, содержащие компоненты Ember.js (вот список тегов), что, по-видимому, нарушает жизненный цикл компонента.

В вашем случае лучше всего использовать API.

У вас есть два варианта:

- Использование плагинов-выходов (plugin outlets), как я показывал в вашей [предыдущей теме](https://meta.discourse.org/t/the-js-codes-stop-working-when-the-page-is-refreshed/306317/6?u=arkshine). Однако, поскольку для последних тем на странице категории они не предусмотрены, вам потребуется запросить их добавление.

- [Переопределение шаблона](https://meta.discourse.org/t/beginners-guide-to-developing-discourse-themes/93648). Это не лучшее решение с точки зрения совместимости, но может служить временной альтернативой.

---

<div class="post-metadata">

### Author: ![ogulcan1787](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ogulcan1787/32/128589_2.png) [@ogulcan1787](https://meta.discourse.org/u/ogulcan1787)
#### Post date: [03.Май.2024 19:33:36 UTC](https://meta.discourse.org/t/error-when-clicking-on-the-homepage-logo/306644/10 "2024-05-03T19:33:36Z")

</div>

Я нашел эти коды.

Это не то, что я хотел, но пока сойдет.

```plaintext
 var pElement = document.getElementById('site-logo').parentNode;
                    //var pElement = document.createElement('a');
                    //pElement.innerHTML = aElement.innerHTML;
                    //aElement.replaceWith(pElement);
                    pElement.href = '#';
                    pElement.style.cursor = 'pointer'; 
                    pElement.onclick = function() {
                      window.location.href = '/';
                    };
                    //document.getElementById('site-logo').parentNode.href = '/';

```

Если кто-то сможет помочь, я жду. Спасибо 🙏

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [04.Май.2024 00:09:47 UTC](https://meta.discourse.org/t/error-when-clicking-on-the-homepage-logo/306644/11 "2024-05-04T00:09:47Z")

</div>

Настоятельно рекомендую не идти этим путём. Это всё равно что наклеить пластырь на побочный эффект, вместо того чтобы устранить коренную причину проблемы. Это создаст ещё больше трудностей (как в вашем последнем [теме](https://meta.discourse.org/t/assigning-a-separate-link-to-the-logo/306688/2), возникшей из-за вышеуказанного кода).

Вы можете сделать свой JS чуть более совместимым с Discourse (_лучший способ — всё же использовать plugin outlet, когда это возможно_).  
Вот пример. Он использует API при смене страницы, запускает код на конкретном маршруте и копирует HTML перед ссылкой (чтобы вы могли кликнуть по тегу):

> **JS**
>
> ```js
> <script type="text/discourse-plugin" version="0.8">
> const { next } = require("@ember/runloop");
>   
> function moveTags() {
> const mainLinks = document.querySelectorAll(".main-link:not(.tags-moved)");
>     
> mainLinks.forEach((mainLink) => {
> const discourseTags = mainLink.querySelector(".discourse-tags");
> const titleElement = mainLink.querySelector("a[data-topic-id]");
> 
> if (discourseTags && titleElement) {
> titleElement.insertAdjacentHTML("beforebegin", discourseTags.outerHTML);
> mainLink.classList.add('tags-moved');
> }
> });
> }
> 
> api.registerModelTransformer("topic", async (topics) => {
> next(() => {
> moveTags();
> })
> });
> 
> api.onPageChange((url) => {
> if (url.startsWith("/categories")) {
> moveTags();
> }
> });
> </script>
> 
> ```

> **CSS**
>
> ```css
> .top-row, 
> .link-top-line {
> .discourse-tag {
> font-size: var(--font-down-2) !important;
> padding: 2px 8px;
> margin: 2px 5px 2px -6px;
> border-radius: 10px;
> border: 1px solid #444460;
> background-color: #1f1f33;
> }
>     
> .discourse-tag::after {
> content: '' !important;
> margin-left: 0 !important;
> }
> }
> 
> .bottom-row, 
> .link-bottom-line {
> .discourse-tags {
> display: none;
> }
> }
> 
> ```

---

<div class="post-metadata">

### Author: ![ogulcan1787](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ogulcan1787/32/128589_2.png) [@ogulcan1787](https://meta.discourse.org/u/ogulcan1787)
#### Post date: [04.Май.2024 05:50:19 UTC](https://meta.discourse.org/t/error-when-clicking-on-the-homepage-logo/306644/12 "2024-05-04T05:50:19Z")

</div>

Привет, @Arkshine  
Изменение ссылки на логотип не помогло, я удалил этот код.

Но другого выхода нет. Мне нужно расположить теги вот так:  
[https://pvpfarm.com](https://pvpfarm.com)

Если я оплачу услуги специалиста, сможет ли он написать рабочий код?

И где вы берёте этот код? (JS) Из [GitHub - discourse/discourse: A platform for community discussion. Free, open, simple. · GitHub](https://github.com/discourse/discourse)?

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [04.Май.2024 06:53:16 UTC](https://meta.discourse.org/t/error-when-clicking-on-the-homepage-logo/306644/13 "2024-05-04T06:53:16Z")

</div>

> [@ogulcan1787](#):
>
> Если я заплачу кому-то, смогут ли они написать приличный рабочий код?

Если вам нужна или вы хотите получить платную помощь, вы можете создать тему в #Marketplace. 👍

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [04.Май.2024 11:31:40 UTC](https://meta.discourse.org/t/error-when-clicking-on-the-homepage-logo/306644/14 "2024-05-04T11:31:40Z")

</div>

> [@ogulcan1787](#):
>
> Но другого способа нет. Мне нужно расположить теги именно так.

Я привёл код для этого в [#11](https://meta.discourse.org/t/error-when-clicking-on-the-homepage-logo/306644/11?u=arkshine).

---

<div class="post-metadata">

### Author: ![ogulcan1787](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ogulcan1787/32/128589_2.png) [@ogulcan1787](https://meta.discourse.org/u/ogulcan1787)
#### Post date: [04.Май.2024 12:02:11 UTC](https://meta.discourse.org/t/error-when-clicking-on-the-homepage-logo/306644/15 "2024-05-04T12:02:11Z")

</div>

Снова здравствуйте, @Arkshine!  
Я добавил коды, которые вы предоставили, после удаления этих кодов, но они не работают. Я что-то делаю неправильно?

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [04.Май.2024 12:08:11 UTC](https://meta.discourse.org/t/error-when-clicking-on-the-homepage-logo/306644/16 "2024-05-04T12:08:11Z")

</div>

У меня это работает:

 ![image](https://global.discourse-cdn.com/meta/original/4X/d/3/1/d31006d0d769bbfc6c20333150fce60e72ee9ed6.png)

Убедитесь, что вы оставляете `<script type="text/discourse-plugin" version="0.8">`, иначе это не будет работать.

---

<div class="post-metadata">

### Author: ![ogulcan1787](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ogulcan1787/32/128589_2.png) [@ogulcan1787](https://meta.discourse.org/u/ogulcan1787)
#### Post date: [04.Май.2024 12:24:39 UTC](https://meta.discourse.org/t/error-when-clicking-on-the-homepage-logo/306644/17 "2024-05-04T12:24:39Z")

</div>

Да, всё работает!  
Есть только одна небольшая ошибка.  
При клике на логотип количество тегов увеличивается.

 ![Скриншот экрана 2024-05-04 152728](https://global.discourse-cdn.com/meta/original/4X/b/6/f/b6f792c455d1d9f6fb02bdbb9fac7f02bc340b2e.png)

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [04.Май.2024 12:40:41 UTC](https://meta.discourse.org/t/error-when-clicking-on-the-homepage-logo/306644/18 "2024-05-04T12:40:41Z")

</div>

Я обновил свой код выше.

---

<div class="post-metadata">

### Author: ![ogulcan1787](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ogulcan1787/32/128589_2.png) [@ogulcan1787](https://meta.discourse.org/u/ogulcan1787)
#### Post date: [04.Май.2024 12:42:17 UTC](https://meta.discourse.org/t/error-when-clicking-on-the-homepage-logo/306644/19 "2024-05-04T12:42:17Z")

</div>

Я не знаю, как вас поблагодарить. Большое спасибо! 🙏 ❤

---

<div class="post-metadata">

### Author: ![ogulcan1787](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ogulcan1787/32/128589_2.png) [@ogulcan1787](https://meta.discourse.org/u/ogulcan1787)
#### Post date: [12.Май.2024 07:51:37 UTC](https://meta.discourse.org/t/error-when-clicking-on-the-homepage-logo/306644/20 "2024-05-12T07:51:37Z")

</div>

@Arkshine Извините, что снова поднимаю эту тему.  
Спасибо ещё раз. Я обнаружил ошибку в коде, который вы предоставили.  
Не могли бы вы мне помочь?  
Я попытался исправить код, но у меня не получилось.

В разделе «Последние» отображается только тег в теме с тегом, которая была открыта последней.

  

А при входе в категорию теги не отображаются.

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [12.Май.2024 17:16:57 UTC](https://meta.discourse.org/t/error-when-clicking-on-the-homepage-logo/306644/21 "2024-05-12T17:16:57Z")

</div>

@ogulcan1787 Я обновил код выше.

[Next page](https://meta.discourse.org/t/error-when-clicking-on-the-homepage-logo/306644.md?page=2)
