问题标签 [adblock]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-chrome - AdBlock 会改变 Chrome 呈现页面的方式吗?
我正在设计/构建一个网站,并且像一个优秀的小开发人员一样,我一直在关注所有流行浏览器中的呈现方式 - 当前版本的 Firefox、Chrome、Safari(适用于 Windows)和 Chrome,以及 Internet Explorer(8,不是 9 预览版)。
无论如何,对我来说,Chrome 中的一切看起来都很好,但是我的一位一直在给我一些反馈的朋友告诉我“哦,顺便说一句,你的网站在 Chrome 中呈现得非常糟糕。” 我给了他标准的“在我的机器上工作”的回答,他回答说他认为这一定是一个扩展问题。
他给了我一份他使用的流行扩展的简短列表,经过反复试验,我发现问题出在 AdBlock 上。我不会让你对实际渲染问题的细节感到厌烦,但我们注意到了一些奇怪的事情。并不是 AdBlock 阻止了页面上的某些内容,而是 Chrome 中 AdBlock 的存在导致了问题。我知道这一点,因为即使 a) 我暂停 AdBlock,并且 b) 当我明确排除该页面/网站被 AdBlocked 时,问题仍然存在。
我已经解决了这个问题(我早些时候在 Firefox 3.0“BrowserShot”中注意到它,但只修复了 FireBug 中的错误 - 我还没有将它应用到真实副本),但它让我想知道是否存在是我应该注意的其他问题。
这似乎也不是怪癖与标准模式的问题。document.compatMode 仍然显示“CSS1Compat”(标准模式),当我删除 doctype 定义以触发 quirks 模式时,该站点仍然正确呈现(尽管在某些地方更改了一些填充 - 无需担心)。
以前有没有人注意到这个问题?AdBlock 是否从根本上改变了 Chrome 呈现页面的方式,即使它在该特定网站上不活跃?
编辑#1:
它变得更奇怪了。我试图创建一个示例,但由于某种原因它不会正确呈现。最终,我将原始(即失败的)html 复制到一个新文件中,并将整个 CSS 文件放入文档中的<style>
标签中<head>
。它仍然有效。
一些试验和错误,我已经确定问题只存在于包含 css via<link rel="stylesheet">
但不包含via时<style>
。
有人可以解释一下这里发生了什么吗?
编辑#2:
这是我正在使用的代码:
如果您想亲自尝试一下,我已经在我的服务器上放了一些文件:
javascript - javascript中的广告拦截器
我正在开发一个用 javascript 编码的广告拦截器。我有一些来自旧项目的代码,到目前为止我所做的是在所有 iframe 上循环,并搜索 src url 是否与以下列表匹配:
这是一个好方法吗,还是我会错过太多不能以这种方式工作的广告?
还有类似的东西已经制作好了,所以我可以检查该代码吗?我正在检查一些 firefox 扩展,例如 ad_blocker-0.6 和 adblock_plus-1.2.2,但它们与我想要做的不同,它们大多具有“事件侦听器”,我需要使用已经显示的代码并且我使用纯 js没有任何库或框架。我使用 DOM 获取 iframe。
javascript - 删除服务器端生成的横幅广告 - Greasemonkey
我在飞机上,他们强迫每个页面(包括这个 Stack Overflow 页面)在顶部有一个横幅,上面有他们的广告。
这是我在 Firefox 中的 UserScript 的代码,但它不起作用:
关于为什么这不起作用的任何想法?即使我将它放在 ready() 块的开头,我什至无法让 console.log 工作。
javascript - 如何阻止 google.com 使用 Greasemonkey(或 Adblock)将光标从 URL 上移开?
如何阻止 google.com 将光标从 URL 上移开并使用 Greasemonkey 将其集中在搜索框上?
我使用谷歌作为我的主页并点击主页按钮打开一个新标签,也许不是最好的方法,但这是习惯。我将开始输入一个 URL,当页面加载完成后,当我输入一半时,Google 搜索字段会拉开我的光标。
我知道相当多的 javascript,但在查看 Google 页面源时,我什至不知道从哪里开始。如果有人可以为此编写脚本,我会永远爱你,我相信很多其他人也会!
编辑:
可能更好的问题是如何使用 Adblock Plus 做到这一点?
编辑#2:
是否可以在使用 Firefox 插件加载特定页面之前运行 javascript?或者,是否可以在页面加载之前阻止页面上的 javascript?
我不是在寻找任何“变通办法”,而是在寻找解决方法。修复删除或禁用“document.fqfocus()”。
编辑#3:小书签呢?有可能吗?
javascript - 检测 adblock 和 javascript
我希望在我的网站上检测广告拦截软件,并要求用户通过重定向来禁用广告拦截。我发现的唯一方法是使用 Javascript。
有没有其他检测方法?
如果没有,我如何检测 Javascript 是否被禁用并将它们重定向到某个页面?
adsense - 如何检测我网站上的 Adblock?
我希望能够检测用户在访问我的网站时是否使用了广告拦截软件。如果他们正在使用它,我想显示一条消息,要求他们关闭它以支持该项目,就像这个网站一样。
如果您进入该网站并且您的浏览器启用了某种广告拦截软件,则该网站不会显示实际广告,而是显示一个小横幅,告诉用户广告收入用于托管项目,他们应该考虑关闭 Adblock .
我想在我的网站上这样做,我在上面使用 Adsense 广告,我该怎么做?
javascript - 如何检测我的 AdSense 广告是否被屏蔽?
如果用户安装了某种广告拦截器,广告拦截器当然会从我的网站上删除所有广告,并在广告曾经存在的地方留下空白空间。我想通过在其中放置一些其他内容来使用该空白空间,例如指向我网站最重要页面的链接,为此我需要检测是否加载了 AdSense javascript。
到目前为止我尝试过的方法:
和:
在某些情况下,这两种方法似乎都失败了,例如,如果浏览器下载 AdSense javascript 文件的速度有点慢,它会在加载 AdSense 代码之前执行上述代码,我最终会为甚至没有广告被屏蔽的用户隐藏广告。
对于如何确保我的代码在 AdSense 之后运行,您有什么建议吗?或者其他检测 AdSense 脚本未加载的方法?
javascript - 是否可以选择在没有该元素 ID 的情况下阻止 Web 浏览器中的某些内容?
是否可以选择在没有该元素 ID 的情况下阻止 Web 浏览器中的某些内容?
我想在一个网站上隐藏一位用户的评论。因为我使用的是 firefox,所以我尝试了 AdBlock 扩展,但它只有在我知道 Id 时才有效......据我所知:)
我只知道 RELATIVE LINK 和 NAME,有没有机会阻止他的评论?我真的很喜欢那个网站,但是我对这个人有一点问题,如果它对我来说隐藏起来会对我的心脏更好:)
谢谢...
评论结构在这里
flash - 可以用 adblock 阻止 flex 应用程序吗?
可以用 Adblock Plus 之类的广告拦截器或其他广告拦截它吗...
jquery - 谷歌 AdSense 和 AdBlock
我的网站上有 Google AdSense 广告,AdBlock 会阻止它们,这很好。当它们被阻止时,我想显示替代内容。问题是,当广告被屏蔽时,可能会发生两件事:
1)广告被AdBlock完全压制,AdSense广告的高宽均为0,大部分AdSense代码没有生成。
2) AdSense 广告内容被屏蔽,但设置了高度和宽度并生成了 AdSense 代码。
选项 1 非常完美,因为它允许我检查容器的高度,或者检查 AdSense 呈现的标记,并在高度为 0 或特定 AdSense 标记不存在时显示我的替代内容。但是,当出现选项 2 时,我不知道我可以做些什么来显示我的替代内容,并且 AdSense 广告占用了它们所需的高度和宽度,但不显示任何内容,这让我的网站看起来很糟糕。
有没有其他人有过这个问题的经验?我的网站在 .net 4.0 中,到目前为止我只在 Chrome v12 中测试过 AdBlock。