在新窗口中打开链接



我尝试了各种方法在新窗口中打开在.ftl文件中导入的.js文件中的链接,但没有成功。

以下是.js 中的代码

$(".termsAndCondition").on("click", function() {
var web_url = localStorage.getItem("webUrl");
setTimeout(() => {
window.location.href = `${web_url}TermsAndConditions`.prop(
"target",
"_blank"
);
}, 1000);
});
  1. localStorage返回一个字符串-将字符串${web_url}TermsAndConditions解析为具有prop的对象的字符串是什么
  2. window.location.htm在同一窗口中打开URL,您可以使用window.open,但这可能会触发弹出窗口阻止程序
  3. 为什么超时

只需使用带有target="_blank"的链接

<a href="termsandconditions.html" target="_blank">Terms and conditions</a>

这不是有效的JS

window.location.href = `${web_url}TermsAndConditions`.prop(
"target",
"_blank"
);

我想你要找的是window.open()(https://developer.mozilla.org/en-US/docs/Web/API/Window/open)。你可以称之为

window.open('termsandconditions.html');

在您的javascript中。这个方法也是一种在新选项卡中打开窗口的普通JS方法。目标可以设置如下:

window.open('URL','TARGET');

其中TARGET可以留空(与第一个示例一样(以打开新窗口,设置为_self以在同一窗口中打开,等等。

您可以使用window.open()方法,如下所示,

$(".termsAndCondition").on("click", function() {
var web_url = localStorage.getItem("webUrl");
window.open(`${web_url}TermsAndConditions`, "_blank");
});

或者如下所示的自移除锚标签,

$(".termsAndCondition").on("click", function() {
var web_url = localStorage.getItem("webUrl");
var a = $("<a>").appendTo(document.body).attr({
href: `${web_url}TermsAndConditions`,
target: "_blank"
});
a.get(0).click();
a.remove();
});

现在通过target=&quot_空白";天哪,整个下午我都在一个错误的文件里工作。我从另一个开发人员那里接管了它,我们实际上维护了两个项目和两个开发环境,我把1误认为是另一个。感谢@mplungjan,@Finn_Lancaster,@Wazeed。

最新更新