window.open在IE中使用相对URL失败(使用基本标记时)

Bra*_*one 7 html javascript internet-explorer

问题

我正在使用基本标记来解析某些动态生成的.html页面中特定点的相对URL.

这很好用,直到我尝试在javascript中使用Window.open.Firefox可以很好地解决所有问题,但是IE会将URL解析为显示的URL.

是否有IE解决这个问题?

我想避免

通过Javascript/jQuery将URL与基本标记中的href相结合.(除非它是防弹.认识到非相对网址和相对网址之间的区别,在合并时处理'/'或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>   
Run Code Online (Sandbox Code Playgroud)

Pek*_*ica 6

不知道这是否可行 - 它可能会也可能不会,取决于IE的内部工作原理 - 但您可以尝试这是否可以正确转换:

<a href="users/402706/brandon-boone" 
   onclick="showWindowPopupFullScreen(this.href)">test</a>
Run Code Online (Sandbox Code Playgroud)

  • 请注意,您必须使用`this.href`,它不能与`this.getAttribute('href')`一起使用. (2认同)