在我的电脑,我使用的是基于HOSTS重定向定制Adblock的(所以我可以在Chrome Adblock的)。我在我的机器上运行IIS,所以我有一个自定义空白404错误时显示的页面上的基于iframe的广告显示。

我修改我的404错误,从继承父母的背景颜色,让广告看起来不讨厌与非白色背景的网站。我的下一个挑战是用我的404页面完全折叠iframe所以它不会在页面上显示在所有。

是否有可能从所述iframe中改变含有<iframe />标记?我只是想改变高度和宽度属性,这是可能的。如果是这样,我怎么会去这样做?

有帮助吗?

解决方案

应该是不可能的,因为iframe中位点可以是外部站点。使他们能够操纵他们显示将是一个浏览器的安全风险环境。

您会更好使用广告拦截代理。

其他提示

如果我理解正确的话,你说你想你的404页面在加载时里面触发iframe的崩溃。要做到这一点,最简单的方法是创建在父页面的功能,然后从404调用它时,它加载。

举例来说,如果你的iframe的ID为“advertFrame”你可以添加JavaScript函数父页面如下:

function hideAdvertFrame() {
  var advertFrame = document.getElementById("advertFrame");
  advertFrame.style.height = 0;
  advertFrame.style.width = 0;
}

然后在404页中,可以立即调用函数时加载:

<body onload="window.parent.hideAdvertFrame();">

这是说,我觉得你还是可能要考虑是不容易的安全漏洞除了跨框架脚本的其他选项。也许你的父母页面可以使用AJAX来检查它是否加载之前的Adblock将有一个有效的URL,然后动态地将其添加到页面后确定的。

填充的iframe页面无法改变有关,其中包含的iframe页面什么。如果可以,那么这将是一个巨大的安全隐患。可以肯定,我试过你正在使用的我在学校给出的两个域问什么。简单地说,它没有工作;我在Firebug有一个权限被拒绝的错误。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top