我想标记显示在我的网站上的特定文本。例如,如果有人点击该按钮,然后弹出窗口显示该句子。如何标记特定文本?
是否有可能在弹出窗口中标记此句子?我无法使用URL,因为它不会更改,而且我也没有任何类或ID。
所以我只想在特定句子在网站上显示时触发标签。
非常感谢。
我想标记显示在我的网站上的特定文本。例如,如果有人点击该按钮,然后弹出窗口显示该句子。如何标记特定文本?
是否有可能在弹出窗口中标记此句子?我无法使用URL,因为它不会更改,而且我也没有任何类或ID。
所以我只想在特定句子在网站上显示时触发标签。
非常感谢。
为了回答您的标题问题毫不夸张地(不,我认为下面是一个好主意):
创建一个页面上与DOM解雇后的自定义HTML标签加载(因为你想要评估需要等到文本实际显示的文本,因此您无法触发pageLoad上的标记)。
输入以下代码:
<script>
if(document.getElementsByTagName('body')[0].innerHTML.indexOf('myText') > -1) {
dataLayer.push('event':'myTextIsPresent');
}
</script>
(你正在寻找的实际文本替换“会将myText”而一些旧的浏览器可能不支持的getElementsByTagName)。这会将整个HTML主体加载到一个变量中,并且indexOf看起来是所需的文本(如果是,则返回正整数或0,否则返回-1)。
使用事件名称为myTextIsPresent的自定义事件类型创建触发器。
用新的触发器触发标签。
现在这有更多的缺点,我很在意详细说明(您将大量文本转储到浏览器内存中,只能在DOM准备好的情况下启动标签等),但这是可能的。
但是,不看文本,而是通过某些用户交互触发标签(如启动弹出窗口的按钮点击)是一个更好的主意。
跟踪启动弹出窗口的按钮不是更容易吗?你可以通过点击事件来做到这一点。 –