2015-06-17 33 views
0

我想标记显示在我的网站上的特定文本。例如,如果有人点击该按钮,然后弹出窗口显示该句子。如何标记特定文本?

是否有可能在弹出窗口中标记此句子?我无法使用URL,因为它不会更改,而且我也没有任何类或ID。

所以我只想在特定句子在网站上显示时触发标签。

非常感谢。

+0

跟踪启动弹出窗口的按钮不是更容易吗?你可以通过点击事件来做到这一点。 –

回答

0

为了回答您的标题问题毫不夸张地(不,我认为下面是一个好主意):

创建一个页面上与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准备好的情况下启动标签等),但这是可能的。

但是,不看文本,而是通过某些用户交互触发标签(如启动弹出窗口的按钮点击)是一个更好的主意。