使用hash / pound /#重定向JavaScript

时间:2011-12-08 16:18:59

标签: javascript jquery .net

所以我需要使用JavaScript和jQuery从我的网站打开标签到其他网站(我不能使用<a>标签作为要求)。链接来自数据库,所以我设置用户点击链接的对象的标题,然后在点击它时重定向它们,我有代码可以做到这一点:

<script language="javascript" type="text/javascript">
    var RedirectCount = 0;

    $(document).ready(function () {

        $(".ResultRow").click(function () {
            if ($(this).attr("title") != "") 
            {
                window.open($(this).attr("title"), "Program" + RedirectCount, "");
                RedirectCount = RedirectCount + 1;
            }
        });
    });
</script>

所以这很有效,除了许多URL中都有#个符号,这些符号应该在目标页面上打开一个特定的选项卡。这适用于Firefox,但IE 8会在第二个选项卡打开之前删除#标记。我还尝试使用JavaScript内置的URLEncode函数,ASP.NET的URLEncode函数重新编码网址,只需将#符号替换为%20,没有执行正确的操作。< / p>

我无法访问其他浏览器,而且我一直在搜索问题的最后半小时没有找到答案,所以我正在寻找的是这两个问题的答案:

  1. 除了window.open或#标签之外,还有其他方法可以打开一个始终与<a target="_blank">一起使用的新标签吗?

  2. 有多少浏览器无法正常执行此操作(尤其是Google Chrome)?问题是否已在IE9 +中修复?

1 个答案:

答案 0 :(得分:1)

解决方案是Visual Studio干扰了IE8运行JavaScript代码的方式,并且在正常条件下运行时,问题中列出的代码实际上可以正常工作。我不知道为什么,也不觉得重要的是弄清楚为什么,也许在几年内有人可能会找到这个答案并将其添加到下面的评论中。