2011-04-18 53 views
3

有反正我可以使用JavaScript来阻止从另一个网站(IFRAME)弹出?如何防止使用JavaScript弹出?

例如:我有一个网站,其中几个其他网站的iframe。其中一人有这样的弹出脚本:

<script type="text/javascript"> 
var popunder=new Array() 
popunder[0]="http://www.target.com" 

//Specify the width and height of new popunder window (in pixels). 
var width = '700'; 
var height = '450'; 

//these are obvious variables. set "yes" or "no". 
var p = 'scrollbars=yes, resizable=yes, toolbar=yes,' + 'menubar=yes, status=yes, location=yes, left=85, top=20, height=' + height + ',width=' + width; 

// Load new PopUnder only once per browser session? (0=no, 1=yes) 
// Putting 0 will cause the Popunder to load every time page is loaded 
// Specifying 1 will cause it to load only once per session 
var one_time=0 

// That's it! Don't edit the code below unless you're really good. :-P // 

function get_cookie(Name) { 
    var search = Name + "=" 
    var returnvalue = ""; 
    if (document.cookie.length > 0) { 
    offset = document.cookie.indexOf(search) 
    if (offset != -1) { // if the cookie exists 
     offset += search.length 
     //set the index of beginning value 
     end = document.cookie.indexOf(";", offset); 

    if (end == -1) // set the index of the end of cookie value 
     end = document.cookie.length; 
     returnvalue = unescape(document.cookie.substring(offset, end)) 
     } 
    } 
    return returnvalue; 
} 

function loadornot(){ 
if (get_cookie('popunder')==''){ 
load_pop_power() 
document.cookie="popunder=yes" 
} 
} 

function load_pop_power(){ 
win2 = window.open(popunder[Math.floor(Math.random()*(popunder.length))], "bw", p) 
win2.blur() 
window.focus() 
} 

if (one_time==0) 
load_pop_power() 
else 
loadornot() 
</script> 

提供此弹出不能块和用户对Firefox或IE低安全设置。

我有ff。 iframe上的网站:(iframe.php)

<iframe src="http://friend.com/pop.php"></iframe> 

iframe.php页面上应该怎么做以防止弹出?

回答

2

它是不可能的。 wdm是对的。但这里提供了更详细的答案。

How to block pop-up coming from iframe?

+0

我们可以XSS到网站吗?还是仅可以检测?我可以使用脚本删除iframe,如果检测到 – DucDigital 2011-04-18 05:33:37

+1

对不起,我从来没有这样做,我甚至找不到解决方案,即使从javascript检测弹出。您可以在iframe中找到打开的模式窗口,但无法在JavaScript中找到通过iframe打开的正常窗口。唯一的方法来检测是使用浏览器插件! – 2011-04-18 06:49:19

1

我很确定你要做的事情是不可能的。

两个选项...有弹出窗口

  1. 避免iframing网站。
  2. 询问他们是否会删除弹出窗口或为您创建特殊着陆页。如果你以某种方式隶属于他们,他们可能会帮助你。