使用 hash/pound/# 的 JavaScript 重定向

标签 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 重新编码 URL URLEncode函数,ASP.NET 的 URLEncode功能,并简单地替换 #标志 %20 , 没有人执行正确的操作。

我无法访问其他浏览器,过去半小时我一直在谷歌搜索这个问题,但没有找到答案,所以我正在寻找这两个问题的答案:

  1. 是否有任何其他方法可以打开一个始终与 # 一起使用的新标签页?除了 window.open 或 <a target="_blank">标签?

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

最佳答案

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

关于使用 hash/pound/# 的 JavaScript 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8434096/

相关文章:

javascript - 如何使用 John Resig JavaScript 微模板引擎?

javascript - 脚本每次都无法加载

.net - AudioGraph(UWP)中的卷积器节点

.net - 是否有 .Net 属性来防止调试器中的属性评估?

javascript - 从 Internet 加载特定网页时可以加载本地 CSS 文件吗?

javascript - jQuery - 如何根据具有类 "selected"的项目更改背景颜色

javascript - 变量超出范围?

javascript - jquery div 显示/隐藏在选中或取消选中时无法正常工作

javascript - jquery SlideToggle 在所有打开的 div 上

java - 解析 C# 中以 JSON 发送的 DateTime 类型