display: none !important 注入 <img ng-src...>

Posted

技术标签:

【中文标题】display: none !important 注入 <img ng-src...>【英文标题】:display: none !important injected in <img ng-src...> 【发布时间】:2014-07-25 17:47:48 【问题描述】:

我正在尝试调试我的 AngularJS 应用程序,其中 display:none 被注入标签,如下所示:

img 标签应该是这样显示的:

  <img ng-src="clientImage" style="margin: 0 0 0 5px;" />

这是我得到的:

  <img ng-src="clientImage" style="margin: 0 0 0 5px; display: none !important;" />

有人可以通过建议我如何追踪 (display: none !important;) 的注入方式来帮助我吗?还有任何想法可能会在我的 img 标签中注入这个?

注意事项: - 这个问题只发生在某些浏览器上,而不是所有浏览器上,实际上我已经尝试在相同的浏览器版本上重现该错误,但在两台不同的机器上但失败了。 - 我正在使用 Chrome 最新版本进行测试

【问题讨论】:

您是否也在使用ng-showng-hide?另外,您使用的是哪个版本的 AngularJS? @ChrisB 不,页面上没有,这让我更加困惑。我正在使用 Angular 1.2.6 你能发布更多你的代码吗?恐怕这还不足以帮助你。 【参考方案1】:

关闭广告屏蔽。

我有一张名为“Advert.png”的图片,花了太多时间才意识到广告块正在阻止它 ¬¬。

【讨论】:

【参考方案2】:

当您在浏览器中使用 adblocker 扩展程序时会出现此问题,当您暂停时您将能够看到图像并且此内联 CSS 将不会显示。

【讨论】:

【参考方案3】:

我在从 src 属性加载图像时发生了这种情况, 为一些图像添加了内联样式"style="display: none !important;"

尝试在 Chrome 中禁用角度检查器插件。 我在正常模式下发生了这种情况,但在隐身模式下,firefox,opera,mobile 一切正常。

【讨论】:

【参考方案4】:

我也遇到过类似的情况。这是因为我在 Chrome 上安装了广告拦截器。我的应用程序在没有安装广告拦截器的 Firefox 上运行良好。但是chrome没有显示元素。

经过几个小时的谷歌搜索后,我发现 chrome 未显示的元素的 id 是问题所在。我对特定元素的 ID 是“广告后”。我将其更改为“make-new”。

就是这样。它开始工作:)

我认为广告拦截器会找到某些 html 页面的 ID 和名称来决定是否显示它。

希望这对某人有所帮助

【讨论】:

【参考方案5】:

首先,检查 DevTools 是否显示了哪个 CSS 规则隐藏了它。 它应该给你文件和行。如果不是,请尝试禁用 javascript 以查看是否有帮助。或者手动扫描文件并寻找.hide().toggle()等(如果使用jQuery)。

要进一步调试,您可以尝试在子树和属性修改上设置断点,方法是选择元素并在上下文菜单中选择“Break on...”(如下所示)。 p>

您也可以试试Visual Event。另见:How to find event listeners on a DOM node?

【讨论】:

以上是关于display: none !important 注入 <img ng-src...>的主要内容,如果未能解决你的问题,请参考以下文章

前端面试题(css相关)

LayDate 只显示年月

腾讯地图去除水印

腾讯地图去除水印

如何在 MS Edge 和 IE 中隐藏密码输入 [重复]

Vue08 -- 内置指令