我需要使用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
替换#
符号来重新编码URL,但都不能正确执行。
我没有其他浏览器的访问权限,而且我已经在谷歌搜索这个问题半个小时了,没有找到答案,所以我想要回答以下两个问题:
除了window.open或
<a target="_blank">
标签之外,还有没有打开新选项卡的其他方法,它们总是可以与#
一起使用?有多少浏览器不能正确执行此操作(特别是Google Chrome)? IE9+中是否修复了此问题?