【发布时间】:2020-07-20 14:31:43
【问题描述】:
最近我们实现了 GoogleTagManager (GTM),但某些 Jquery UI 对话框根本没有显示(其中一些始终有效,而另一些则始终无法正常工作)。很遗憾,我无法提供示例代码。
当单击调用 .dialog("open") 的 UI 按钮时,不会显示对话框,但整个页面变为灰色 (div class="ui-widget-overlay ui-front")。我在 html 中看到 div 具有“display:none”样式。
如果我删除display: none,对话框最终会显示出来,但表单的 UI 是混乱的。不知何故,模式的宽度是 300 像素而不是 1000 像素等。此外,缺少保存/取消按钮的事件侦听器。如果我将 autoOpen: true 放在 jquery UI 对话框声明中,则会显示该对话框,但仍然以同样的方式搞砸了。
我注意到,当我有一个广告拦截器时,一切正常,但当我没有时,就会出现错误。我还意识到,当使用 GTM 时,浏览器中有一个“fbevents.js”文件,如果我用广告拦截器明确禁用这个文件,这个错误就会消失。
当我单击调用对话框(“打开”)的图标时,我还看到一个 facebook.com/tr/ 调用在 Chrome 的网络选项卡中永远保持“待处理”状态。
当然,如果没有 GTM,网站也可以正常运行。
您知道这个错误是什么,或者我应该如何继续调查? (不更新 jquery/jqueryUI 或不切换到引导模式)?
【问题讨论】:
-
不要把 Facebook 的问题归咎于 GTM。 fbevents.js 不是 GTM 文件,不是由 Google 提供的。 Facebook 标签会在您背后收集大量数据(点击和提交,这可能会触发相应的 GTM 事件),这可能会干扰您的对话(FBs 文档描述了如何禁用此行为)。
标签: javascript html jquery-ui google-tag-manager