浏览器选项在新选项卡中打开链接
问题描述:
我有编辑操作按钮,没有选项“打开新选项卡”时,我右键单击。 这里是我的代码:浏览器选项在新选项卡中打开链接
function actionsTemplateConversion(data) {
if (data != null){
if (canEdit){
row += '<a id="edit" title="${editTr}" onclick="edit(event);"></a>';
}
return row;
}
}
function edit(event) {
table = $('#table').data();
var dataItem = table.dataItem($(event.currentTarget).closest("tr"));
window.location = "users/"+dataItem.id+"/editUser.html?id="+"${id}"+"&name="+"${name}";
}
我已经尝试使用HREF代替的onclick,并把这个链接从编辑()函数href和与我得到的选项打开在右键点击新标签,但也有这个问题,因为如果有一个单一的名称,而不是因为这个qoutes而引发的所有事情。所以唯一的办法就是使用这个功能。 我也试过用这个window.location.href但它不工作。 有没有其他选项可以在window.location旁边打开链接?
答
你可以在锚标记瞄准这一事业的浏览器打开新的标签页<a target="_blank" href=""/>
OR
if(user)
window.open(encodeURI('url'), '_blank');
else
window.open(encodeURI('url'));
如果名称报价试图对其进行编码 https://www.w3schools.com/TAGS/ref_urlencode.asp
答
<a id="edit" title="${editTr}" onclick="edit(event);"></a>
这不是一个链接。链接必须具有href
属性。没有一个,当你点击它时没有URL打开,或者在新标签页中打开。只有一个JavaScript程序可以运行。
我试着使用的href代替的onclick
这就是解决方案从编辑
链接()函数href和与我得到的选项打开在右键点击新标签,但也有问题,因为如果有单一qoutes在名称比所有meesses因为该qoutes
这是通过将字符串混合在一起而不是使用DOM来生成HTML的问题。
你必须非常小心地逃避一切。
改为使用DOM。
由于您已经在使用jQuery了。沿着这些线路的东西应该让你开始:
var url = "users/" + encodeURIComponent(dataItem.id) + "/editUser.html?id=" + encodeURIComponent("${id}") + "&name=" + encodeURIComponent("${name}");
var $link = jQuery("<a/>")
.attr("href", url)
.attr("title", "${editTr}")
.attr("id", "edit") // Are you sure this is a UNIQUE id? Should this be a class instead?
.on("click", edit);
[浏览器,JavaScript,以便在新标签window.open(可能的重复https://stackoverflow.com/questions/15818892/chrome-javascript-window-open -in-new-tab) –
我看到了这个,但它不能帮助我,因为这个解决方案总是在新标签中打开链接。我需要这个选项,以便用户可以选择他在哪里编辑数据 – alonso05