2015-06-17 2 views
0

Я хочу отметить определенный текст, который отображается на моем веб-сайте. Например, если кто-то нажимает на кнопку, а затем всплывающие подсказки с предложением.Как отметить определенный текст?

Есть ли возможность пометить это предложение во всплывающем окне? Я не могу использовать URL-адрес, потому что он не изменяется, а также у меня нет классов или идентификаторов.

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

спасибо.

+0

Не было бы легче отслеживать кнопку, которая запускает всплывающее окно? Вы можете сделать это с помощью события click. –

ответ

0

Чтобы ответить на этот вопрос в заголовке в буквальном смысле слова (не то, что я думаю, что следующая хорошая идея):

Создание пользовательских HTML-тег, который запускаемое на странице с после DOM загружен (с вами хотите оценить текст, который вам нужен, чтобы дождаться, пока текст на самом деле отображается, поэтому вы не можете запустить тег на странице Load).

Введите следующий код:

<script> 
if(document.getElementsByTagName('body')[0].innerHTML.indexOf('myText') > -1) { 
dataLayer.push('event':'myTextIsPresent'); 
} 
</script> 

(заменить «MYTEXT» с фактическим текстом вашего ищут и некоторые старые браузеры могут не поддерживать getElementsByTagName.). Это загружает весь HTML-объект в переменную, и выглядит indexOf вашего желаемого текста (если да, он возвращает положительный int или 0, если не возвращает -1).

Создать триггер с типом настраиваемого события, где имя события - myTextIsPresent.

Пожар ваших тегов новым триггером.

Теперь у меня есть еще много недостатков, которые я хочу уточнить (вы выгружаете большое количество текста в память браузера, вы можете запускать теги только на DOM ready и т. Д.), Но это возможно.

Однако гораздо лучше не смотреть на текст, а запускать теги с некоторым взаимодействием с пользователем (например, щелчок на кнопке, который запускает всплывающее окно).

Смежные вопросы