2012-12-06 30 views
0

我有简单的chrome扩展,打开每个标签上的jQuery对话框我打开,
问题是当网页中有iframe时,对话框打开为许多iframe在页面中。
我想避免这种情况,我只需要打开它,每个页面只有一个对话框实例。 我该如何避免页面中的iframe?
这是我的内容脚本:Chrome ext,创建jQuery对话框的内容脚本需要忽略iframe

var layerNode= document.createElement('div'); 
    layerNode.setAttribute('id','dialog'); 
    layerNode.setAttribute('title','Basic dialog'); 
var pNode= document.createElement('p'); 
    console.log("msg var: "+massage); 
    pNode.innerHTML = massage; 

layerNode.appendChild(pNode); 
document.body.appendChild(layerNode); 

jQuery("#dialog").dialog({ 
    autoOpen: true, 
    draggable: true, 
    resizable: true, 
    height: 'auto', 
    width: 500, 
    zIndex:3999, 
    modal: false, 
    open: function(event, ui) { 
     $(event.target).parent().css('position','fixed'); 
     $(event.target).parent().css('top', '5px'); 
     $(event.target).parent().css('left', '10px'); 
    } 

}); 
+2

在内容脚本的manifest.json中,是否有''all_frames“:true',因为如果你这样做了,你不希望它在框架中运行,只有主机页面将其删除。 – PAEz

回答

2

如何包装这一切与

if(window==window.top) { 
    // we're not in an iframe 
    // your code goes here 
} 
相关问题