2011-10-03 122 views
3

我有一个链接,点击后,浏览器将打开一个新窗口。这对于链路上的单击事件的代码:关于打开/弹出新窗口的浏览器警报

var clickView = function(){ 
        window.open('/client/item/show/' + itemID); 
        return false; 
       }; 

我也有另外一个新功能,从AJAX调用读取URL,并在新窗口中打开它。

  if (json.data && json.data.URL) 
      { 
        if (me.urlTarget==='_self'){ 
          //use the self window to open the URL 
          window.location.href =json.data.URL; 
        } else{ 
          //use new window to open the url. 
          window.open(json.data.URL); 
        } 

      } 

对于第一函数(clickView),浏览器(IE7/8 &火狐)将打开一个新标签没有任何警告用户。对于第二个函数(其中url是从json.data.URL中读取的),IE和Firefox都会显示警告消息并阻止新窗口,直到用户同意警告。在这两个函数中,开始URL是相同的。

我想知道为什么会有差异,是否有可能使它们表现一致?

回答

0

可能是第二个实例生成警告,因为它是绝对的,而不是相对的URL?

(无论哪种方式,打开新的浏览器窗口是魔鬼的工作)。

+0

两者都是相对URL。 (可悲的是我正在为魔鬼工作:) – LazNiko

相关问题