- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个想法的动机是浏览器广告请求通常非常缓慢并且会阻塞页面呈现,更不用说消耗浏览器 javascript 线程了。如果一个页面加载了多个广告,那就是很多不可靠的,会阻止第三方调用。通过使用事件驱动的 headless 服务器端浏览器,是否可以同时发出这些请求并将广告 Assets 全部传递给浏览器?特别是,这是否适用于 doubleclick,其广告网络经常发出一系列请求,即 document.write 脚本标签,然后获取更多脚本,可能会加载 flash swf,然后请求一些额外的 gif 文件?这听起来有点过分,但广告是魔鬼,如果可以从客户端卸载广告,将极大地提高站点速度,因为服务器解决方案可以并行发出广告请求和处理 javascript。
编辑:回应@dthorpe:
要考虑的所有优点。
至于广告服务延迟,服务器端解决方案应该有所帮助,原因如下:
首先,可以并行发出多个广告请求。虽然有在浏览器中并行加载资源的方法,但我知道没有一个好的解决方案是完全非阻塞的(即在页面渲染和 onload 事件方面),除非你延迟加载你所有的广告。我正在寻找一种在加载页面其余部分的同时以非阻塞方式并行加载广告的方法。
其次,或许更重要的是,加载 doubleclick 广告通常涉及加载多个中间脚本。浏览器中的 Javascript 是单线程的。这直接意味着我页面的 javascript 将阻止 ad-javascript,从而减慢广告印象。广告的 javascript 反过来会阻止我页面的 javascript,从而减慢我的页面速度。我可能有其他第三方电话正在播放,用于跟踪或其他目的。我在页面上也有多个广告,所有这些都有助于减慢页面呈现和 javascript 执行速度。通过将广告加载卸载到服务器,我页面的 javascript 将不会与广告竞争。广告造成的延迟将取决于一个广告(最长的一个),但一个广告的加载行为不会受到其他广告或我的页面的影响,因此理论上应该更快。
目标是将广告与基本页面分离,这样广告就不会阻止页面呈现、页面加载事件,也不会减慢页面速度或彼此减慢速度。只要浏览器内的 javascript 是单线程的,我不知道有任何客户端解决方案可以实现完美的解除关联。当通过 javascript 实现长时间加载的广告时,页面的其余部分必须等待。
我知道各种延迟加载机制,一些涉及 iframe,一些覆盖 document.write 以适应延迟加载,但这些都没有取得令人满意的结果,这纯粹是由于干扰 javascript 执行的串行行为。
我想知道我是否可以在浏览器中使用 java applet 获得服务器端广告加载的好处,并避免您提到的 cookie/预加载情况?由于我们看到双击广告的严重退化,我实际上正在考虑这些不合格的方法。这些广告扼杀页面加载速度的方式真是令人厌恶:)
最佳答案
为了准确地完全代表客户端机器,您的 headless 服务器浏览器需要能够显示驻留在客户端上的广告网络域的浏览器 cookie。这将很困难,因为您的服务器的域名不在广告网络域中,因此客户端浏览器不会为您提供广告网络 cookie。
您可能会在服务器浏览器中捕获广告以代表客户“预加载”它们,但如果没有客户的浏览器 cookie,您将缺乏广告网络严重依赖的连续性和跟踪。广告网络选择显示的广告将基于您的服务器浏览器代表客户查看的页面,而不是客户查看的内容。
此外:如果加载广告内容是阻止客户端浏览器中页面呈现的原因,那么在服务器上呈现相同页面如何加快速度?您的服务器浏览器将遭受与客户端浏览器相同的网络和脚本延迟,客户端仍将坐在那里等待“某事”,但在页面完全加载并在服务器浏览器中处理之前不会显示任何内容,并且转发到客户端浏览器?将问题移至“上游”并不能解决任何问题。
最后:即使您的意图可能是高尚的(改善客户浏览体验),广告网络也很可能会认为您的服务器浏览器广告“预加载器”令人厌恶并且违反了他们的广告网络服务条款,因为它会干扰他们能够跟踪实际客户的浏览事件。
关于javascript - 是否可以使用 headless 浏览器发出服务器端广告请求而不是浏览器内广告请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5360322/
我正在尝试使用 firefox headless 在 headless (headless) redhat linux 构建机器上运行 selenium 测试。我创建驱动程序的方法如下所示: priv
关于这个主题有很多东西可以找到,但无法弄清楚。我需要滚动到(不太长)无限滚动页面的末尾。我有 2 个选项可以使用 chrome 非 headless (headless)但似乎不能 headless
我在远程服务器上运行 OpenFOAM,基本上设法通过 paraview 的 pvserver 可视化结果 as described here .然而,在连接后,客户端产生 Server DISPLA
我想在 headless 模式下截取 Android 设备的屏幕截图,也就是说我是这样创建的: echo no | /opt/android/android-sdk-linux/tools/andro
主要区别在于,基于GUI和非GUI(Headless)执行。 我正在寻找所有Headless浏览器之间的差异,但是很遗憾,我没有找到任何差异。我一个接一个地经历,这使我更加困惑。如果有人可以分享具有差
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭10 年前。 Improve th
我需要在没有 X 服务器的情况下执行 java 图像裁剪和调整大小。 我尝试了几种方法。下面的第一种方法有效,但输出了一个相当难看的调整大小的图像(可能使用最近邻算法来调整大小: static Buf
过去几天我一直在使用 Selenium、Tor 和 Firefox 作为多个任务的组合。我已经设法用 Python 编写了一个简单的脚本,它通过 Selenium 控制 Firefox,而 Firef
我正在使用 pygame 的操纵杆 api 在 headless (headless)系统上对我的项目使用操纵杆,但是 pygame 需要一个“屏幕”,所以我设置了一个虚拟视频系统来克服这个问题。它工
我想使用 headless firefox 在 macos 上捕获网页的图像。 这是我执行的命令:/Applications/Firefox.app/Contents/MacOS/firefox-bi
我正在使用带有 headless-chromium-php 的 google chrome headless (headless)浏览器 导航到某些网站,但它总是被验证码检测到 我尝试使用此 plug
是否有可能使用 Octave headless。 像这样的东西 octave result.txt 最佳答案 使用 octave --silent --eval 5+4 > result.txt 你会
我目前正在尝试在 headless (headless)模式下运行应用程序,我定义了后台回调: void callbackInBackground() { // Invoked from the s
我正在使用LibGDX headless backend运行jUnit测试。这在某些测试中效果很好,但是如果我尝试创建new Texture('myTexture.png');,则会收到NullPoi
我想在这个页面上使用 Selenium:https://www.avis.com/en/home 如果没有 headless (headless)模式,该代码一切正常: import requests
在Jasmine headless (headless)Webkit中运行测试时,我遇到了一个简单的TypeError: 'undefined' is not an object失败。但是没有提示在哪
我负责测试一个大量使用 AJAX 的企业 Web 应用程序。我需要构建一个系统,允许在没有人工干预的情况下连续运行测试。目前我最感兴趣的是负载测试,但我希望用于生成负载的相同脚本用于功能测试。 目前用
TL; DR:我可以配置一个容器来原生访问VGA,以覆盖主机视频输出吗? 我正在考虑处置低功耗的XenServer(以前为ESXi)白盒以设置docker最小安装(例如CoreOS,RancherOs
我正在尝试 headless (headless)运行我的测试,并将我的两个测试套件分片以并行运行它们。在我的本地计算机上,它们并行运行,但在这种 headless (headless)设置中,它们一
仍在尝试为大型大学项目(RCP 产品)建立 headless (headless)构建。 每个 Eclipse 用户都知道以下手动功能:“文件 --> 导入 --> 将现有项目导入工作区”以及“构建工
我是一名优秀的程序员,十分优秀!