2010-10-05 54 views
7

问题window.open失败,并在IE相对URL(当使用碱标签)

我使用的碱标签来解决一些动态生成html的页面相对URL的特定点。

这很好,直到我尝试在JavaScript中使用Window.open。 Firefox解决了一切问题,但IE将URL解析为显示的URL。

是否有IE浏览器为此工作?

我想避免

结合,在通过Javascript/jQuery的基础代码中href的URL。 (除非它是防弹的,认识到非相对URL和相关URL之间的区别,在合并时处理'/'或none'/'的存在等)。

即使你有这样的解决方案。内置一个将是首选(关于格式化我的相对URL以使IE快乐?或其他)。

<html> 
    <head> 
    <base href="http://stackoverflow.com" /> 
    <script type="text/javascript"> 
    showWindowPopupFullScreen = function(URL) { 
     var pageWidth = screen.availWidth; 
     var pageHeight = screen.availHeight; 
     var popup = window.open(URL, 'Window', 'height=' + pageHeight + ',width=' + pageWidth + ',top=0,left=0,resizable'); 
     if (window.focus) { 
      popup.focus(); 
     } 
    } 
    </script> 
    </head> 
    <body> 
    <a href="javascript:showWindowPopupFullScreen('users/402706/brandon-boone')">test</a> 
    </body> 
</html> 

回答

6

不知道这是否会工作 - 它可能会或可能不会,这取决于IE的内部工作 - 但你可以尝试,这是否被正确翻译:

<a href="users/402706/brandon-boone" 
    onclick="showWindowPopupFullScreen(this.href)">test</a> 
+0

神奇, 有用。谢谢! – 2010-10-05 21:05:12

+2

请注意,您必须使用'this.href',它不会与'this.getAttribute('href')'一起使用。 – Roben 2013-08-14 14:36:21

+0

我有类似的问题,它也适用于jQuery。我从'$(element).on('click')'处理程序运行弹出窗口。以前我尝试过'$(this).attr('href')',并且与Brandon有类似的问题(尽管我设置了)。现在它可以用'this.href'正常工作。感谢Pekka和Roben! – alekwisnia 2013-08-28 10:25:18

相关问题