如何给iframe页面里面的javascript制造互斥啊?

zgqtxwd 2008-05-03 03:11:18
因为我在网页里面插入了4个GOOGLE的用iframe调用的广告,这些iframe都是调用同一个js广告页面的,假设这个页面而google的政策是如果使用iframe调用广告,则一个页面只能插入一个,
因为我的网站网页很多,把每一个页面从四个iframe改成一个iframe,哪很多很麻烦,
有没有方法就是如果该页面里面的第一个iframe调用了该js广告页面后,哪后面的几个页面就不调用了,也就是在该iframe里面设置一个互斥变量什么的,可行吗?高手指点下哈!最好有代码实例哦,感激不尽!
...全文
394 27 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
凋零的老树 2008-05-05
  • 打赏
  • 举报
回复

if (parent.frames[i].src="a.htm")
{
parent.frames[i].location="about:blank";
}
qiangv 2008-05-05
  • 打赏
  • 举报
回复
// 如果有iframe的src等于广告地址
if (parent.frames[i].src == "a.htm")
{
// 那么当前的广告地址应该为空了
window.location = "about:blank";
}

不用else了,因为已经跳转了。
不过这有问题:因为你自己这个页面也属于iframe并且它的src是a.htm
所以你还要加上判断不是当前页面。
zgqtxwd 2008-05-05
  • 打赏
  • 举报
回复
if (parent.frames[i].src="a.htm")
{
parent.frames[i].location="about:blank";
}
else
{
//广告脚本???
}
qiangv 2008-05-05
  • 打赏
  • 举报
回复
1 YH_Random 的方法:如果你对top有权限设置变量的话,利用这个变量做互斥
2 kongxiangli 的方法:遍历每个iframe

在你的a.htm中处理onload事件
window.onload()
{
window.top.变量 = true/false;
或者:
for(...)
{
if(iframe.src == "a.htm")
{
window.location = "about blank";
}
}
}

zgqtxwd 2008-05-04
  • 打赏
  • 举报
回复
YH_Random的说法值得研究,我测试一下,HOHO,我可以只用一个框架
15楼的朋友,select case在此如何应用啊?
zgqtxwd 2008-05-04
  • 打赏
  • 举报
回复
晕,没分了,,像我这么菜的人,不知道去哪里赚分,晕
zgqtxwd 2008-05-04
  • 打赏
  • 举报
回复
哇,,大侠,这么晚你也在啊?
  • 打赏
  • 举报
回复
呵呵
<html>
<body>
<iframe src="a.htm" width="100" heigth="100">
<iframe src="a.htm" width="100" heigth="100">
<iframe src="a.htm" width="100" heigth="100">
<iframe src="a.htm" width="100" heigth="100">
</body>
</html>

全部这样的还命名有什么规律???这个就是要靠他说的那个来数多少个来控制
wwp3321 2008-05-04
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 chinmo 的回复:]
引用 12 楼 YH_Random 的回复:
<script>
function test()
{
for(i=1;i <parent.frames.length;i++)
{
parent.frames[i].location="about:blank";
}
}
</script>

那这样就行了

你这个方法也不一定可以行得通,假设还有其他的frames,不是这些广告的话,那就都把那些也改取消掉了
[/Quote]

里面在判断一把,一般框架命名有点规律性吧
海牛 2008-05-04
  • 打赏
  • 举报
回复
每天登陆好象有10分~~~
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 YH_Random 的回复:]
引用 13 楼 chinmo 的回复:

你这个方法也不一定可以行得通,假设还有其他的frames,不是这些广告的话,那就都把那些也改取消掉了


如果他能修改top window 页面的代码,那就加入id或name来识别,
如果不能修改top window 页面的代码,就人工数下是哪几个框架,根据情况作修改就行了,这个只是基本实现。
[/Quote]
这些都不太现实!!假如哪天top window 页面改变了,右要去数和改!这样的效率还可能?
YH_Random 2008-05-03
  • 打赏
  • 举报
回复

<html>
<script>
function test()
{
for(i=0;i<parent.frames.length;i++)
{
parent.frames[i].location="about:blank";
}
parent.frames[0].location="a.htm";

}
</script>
<body onload="test()">
<iframe src="a.htm" width="100" heigth="100">
<iframe src="b.htm" width="100" heigth="100">
</body>
</html>


把代码写在任一个框架页内,把window改为parent就行了。
zgqtxwd 2008-05-03
  • 打赏
  • 举报
回复
主页面我什么也控制不了,也不能插入JS,只能插入iframe,所以我放了iframe,当时没注意,只想着可以放很多广告,结果每个页面里面放了四个iframe,调用同一个广告页面,
如果我修改其中一个iframe里面的内容为空,哪全部为空了,也就没广告了,要是不清除,哪就有4个广告,好晕,,把我想他能不能一个互斥的,第一个iframe运行以后,哪后面的就去判断该子页面是否己在该页面执行过,如果执行过,哪就不执行了,,
(我只能控制iframe所调用的页面哦!)
zgqtxwd 2008-05-03
  • 打赏
  • 举报
回复
是啊,,不过主页面不是我能控制的哦,,我只能控制iframe里面的网面,
可不可以在iframe里面调用的网页里面加入互斥啊?
bhtfg538 2008-05-03
  • 打赏
  • 举报
回复
2楼回答的很不错噢
不过要是你学过SEO就不会放那么多广告的
GOOGLE的广告一个页面不超过2个
做过SEO的人都知道
优化网站的第一部就是靠GOOGLE
你放那么多
那么网页的单价点击接很少了的
rjzou2006 2008-05-03
  • 打赏
  • 举报
回复
互斥?
没明白LZ的意思明?
YH_Random 2008-05-03
  • 打赏
  • 举报
回复
<html>
<script>
function test()
{
for(i=0;i<window.frames.length;i++)
{
window.frames[i].location="about:blank";
}
window.frames[0].location="a.htm";

}
</script>
<body onload="test()">
<iframe src="a.htm" width="100" heigth="100">
<iframe src="b.htm" width="100" heigth="100">
</body>
</html>


你看这样能不能满足你的要求
wisewillpower 2008-05-03
  • 打赏
  • 举报
回复
如果互斥的话,建议用Select Case语句
YH_Random 2008-05-03
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 chinmo 的回复:]

你这个方法也不一定可以行得通,假设还有其他的frames,不是这些广告的话,那就都把那些也改取消掉了
[/Quote]

如果他能修改top window 页面的代码,那就加入id或name来识别,
如果不能修改top window 页面的代码,就人工数下是哪几个框架,根据情况作修改就行了,这个只是基本实现。
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 YH_Random 的回复:]
<script>
function test()
{
for(i=1;i <parent.frames.length;i++)
{
parent.frames[i].location="about:blank";
}
}
</script>

那这样就行了
[/Quote]
你这个方法也不一定可以行得通,假设还有其他的frames,不是这些广告的话,那就都把那些也改取消掉了
加载更多回复(6)

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧