我正在使用Google跟踪代码管理器来实现“文章”JSON标记,并返回一些变量以更改特定页面上的元素。我想要返回的一个元素是图像src。
现在我正在使用DOM元素来返回使用CSS选择器的内容。它定位的HTML元素是:
<div class="field-item even">
<img src="THISISTHEIMAGEURL.jpg">
</div>
我通过收集以下方式在GTM中定位:div.field-item.even&gt; img,属性名称为src This is a screenshot of how I'm targeting in GTM
现在,当我在预览模式下测试它时,图像的URL正好显示它应该如何,一切看起来都很棒。
当我使用Google结构化数据测试工具检查时,我返回一个错误,上面写着“Bad Escape String”和一个带有斜线的图片的网址,如http://\www.mysite.com/ \ image1.jpg / \
我一直在做一些研究,似乎我可能需要使用自定义的javascript变量或其他东西来使这项工作。
我试图使用这样的东西:
function() {
var src = document.querySelector(‘.fielditem.even > img').src;
}
然后我在GTM中收到错误告诉我需要一个返回值。不幸的是,我的javascript技能很差,经过一些研究,我尝试过这样的事情:
var picture = document.getElementsByClassName(".fielditem.even");
var src = picture[0].firstElementChild.src;
但我仍然遇到同样的错误,我需要一个返回值。任何帮助是极大的赞赏。
谢谢!
答案 0 :(得分:0)
您忘记了两个选择器中的-
符号。
.fielditem.even > img
而不是
.field-item.even > img
如果您执行下面的脚本,当查询正确的类时,它可以正常工作。
var image = document.querySelector('.field-item.even > img');
var src = image.src;
console.log(src)
<div class="field-item even">
<img src="https://resources.risingstack.com/risingstack-logo-2017.svg">
</div>
答案 1 :(得分:0)
只需从函数中返回一个值:
function imgSRC() {
return document.querySelector('.field-item.even > img').src;
}