【发布时间】:2015-12-19 23:56:09
【问题描述】:
我在这个问题之前问过this 问题,试图弄清楚为什么我在a-ads iframes、this 网站上看到滚动条,而有些人发誓他们没有看到它们! 因此,我发现 iFrame 滚动条的外观是按执行顺序排列的。对于更快或更慢的计算机,结果可能会有所不同。
我意识到我必须用 JavaScript 或 CSS 替代品替换 scrolling="no",这是一个强大的(但在 HTML5 中不受支持)属性,它强制 iframe 上没有滚动条。但是,CSS overflow:hidden; 太弱了,无法覆盖 iframe 源可能包含的任何样式(例如 overflow:scroll、overflow:auto 等)。所以解决方案必须是 JavaScript。
但需要注意的是,javascript 必须在加载 iframe 本身之后激活,但在加载源 (src="") 之前之前。因为如果scrolling="no" 被替换在源加载后它对 iframe 显示的结果没有影响。但是,如果它位于 之前 到达 <iframe> 标记标记,JavaScript 怎么知道要修改什么?在那个时候它就像不存在一样好。
还有一个问题:无法从<iframe> 标记中剥离源代码,并在JavaScript 中进行替换。我们已经尝试过了,虽然它起作用了......有点......我们失去了广告印象和点击进入黑洞,因为a-ads 的蜘蛛(即机器人)不能,或者有问题,检测网页上正确的广告代码。但是,如果我们将它留在 iframe 中并在设置 scrolling="no" 后重新加载源代码,则会导致双重广告加载(即无效展示)。
这是一个真正的泡菜!
世界上所有的爱因斯坦 - 你需要!
另外,this S.O.问题不适用。
截图
【问题讨论】:
-
你有能力在 iframe 中添加 css/js 吗? iframe src 是否来自同一个域?
-
嗨,@Jackson,不是来自 a-ads.com 的场外广告服务器。谢谢提问! :-)
-
这个 iframe 是脚本创建的吗?如果不是,为什么不能修改html源?如果它是脚本创建的,则需要间隔计时器来检测它的存在
-
嗨@charlietfl,our domain 上的任何脚本或标记都可以被操纵或修改,除了仅符合上述条件。但是,iframe(即子框架)的
src的页面/标记/脚本超出了我们的控制范围。感谢您的提问;-)
标签: javascript jquery css html iframe