如何以编程方式告诉浏览器自动允许OpenERP中的弹出窗口?

时间:2014-12-19 20:58:25

标签: openerp odoo

当我在OpenERP(包括代码)中启动新窗口选项卡时,Firefox浏览器会阻止启动。我知道我可以在Firefox设置中允许弹出窗口,但我不想这样做。我想以编程方式告诉任何浏览器允许我自动在新选项卡中启动新窗口。有任何建议怎么做?

以下是启动新窗口的代码:

class mrp_bom_line(osv.osv):
    _inherit = 'mrp.bom.line'

    def action_go(self, cr, uid, ids, context=None):
        bom_obj = self.pool.get('mrp.bom')
                action_obj = self.pool.get('ir.actions.act_window')
                id_s = action_obj.search(cr, uid,  [('name', '=','Bill of Materials' ), ('context', '=','{}' )])
                for rec in action_obj.browse(cr, uid, id_s, context=context):    
                        action = rec.id 
        url = '/web#id=%s&view_type=form&model=mrp.bom&action=' + str(action)
        for bom_line in self.browse(cr, uid, ids, context=context):
            if bom_line.product_id.default_code > '300':
                bom_ids = bom_obj.search(cr, uid, [('product_id', '=', bom_line.product_id.id)], context=context)
                if bom_ids:
                                        return {'type': 'ir.actions.act_url', 
                        'res_model': 'ir.actions.act_url',
                        'url':url % bom_ids[0] , 
                        'nodestroy': True, 
                        'target': 'new_tab'}


        return True

1 个答案:

答案 0 :(得分:2)

正如评论中所述,弹出窗口拦截器的目的是保护Web用户免受Web开发人员及其侵入性弹出窗口的侵害。

如果有办法禁用阻止程序,每个人都会使用它(主要用于广告目的)。

所以回答你的问题,没有办法。