2010-11-08 49 views
0

相关但是处于休眠状态:Javascript to open URL within a new Tab和其他许多...有没有办法强制在标签中打开“onclick”新窗口?

我有一个客户坚持特定链接需要在新选项卡而不是窗口中打开。它是由一个表单提交按钮的“点击”事件产生的,由PHP的文档中的jQuery的功能,看起来像这样叫:

function newTabLink($element,$url) {   

    ?><script language="JavaScript" type="text/javascript">//<![CDATA[ 
     jQuery(document).ready(function() { 
      jQuery('<?php echo $element; ?>').click(function() { 
       window.open("<?php echo $url; ?>",'_blank'); 
       }); 
      }); 
      //]]></script><?php  
} 

我也有我的样式表的CSS声明,它试图迫使新窗口为选项卡而不是新窗口:

* { target-new: tab !important; } 

的CSS 目标新财产似乎在IE9工作,强制弹出的成片。 FF和Chrome/Safari都默认为标签浏览,即使没有该属性集。但我怎么能强制IE8和7在标签中打开这个特定的链接?

任何想法?

+0

,我愿意尝试迂回的解决方案(即设置表单动作为一个新的窗口,然后返回到原始窗口进一步逻辑/处理表单)...不期待我的问题的线性答案,但创造性的解决方法... – goldenapples 2010-11-08 23:37:23

回答

2

你不能可靠地做到这一点。如您所知,Firefox和WebKit浏览器可以配置为打开新窗口,但用户需要。我想希望 IE9可以配置为覆盖该“风格”的行为。 (编辑 —这似乎是一个CSS3草案的事情 - 我希望亲自它死在委员会)

+1

单独希望+1。 – 2010-11-08 23:32:55

+0

CSS3包含许多覆盖浏览器默认行为的属性:“target-new”(tab/window)和“target-position”(前/后)。是的,用户设置优先,但我不关心重写这些,只是浏览器的默认行为... – goldenapples 2010-11-08 23:34:55

+0

那么这是最好的事情;我从来没有见过任何控制这种行为的API。我知道Safari对页面代码的影响非常严格,只会影响桌面活动,而这看起来像属于该类别(而不是“页内”内容)。 – Pointy 2010-11-08 23:37:58

相关问题