如何在不重新加载页面的情况下打开新标签并使用新URL更新地址栏

时间:2018-10-04 19:34:11

标签: javascript angularjs html5

我有一个带有按钮的页面来执行打印操作。在这种情况下,在单击按钮的情况下,我想打开一个新的选项卡,并在URL中进行了修改,而无需重新加载页面。

这是单击按钮时我要调用的代码。

function changeUrl(){
 var printurl = 'https://www.example.com/mytest/print/1022/United-Arab-Emirates/2018/Guide-on-VAT-treatment-of-insurance-issued?lang=en&dir=ltr'
 var path = '1022/United-Arab-Emirates/2018/Guide-on-VAT-treatment-of-insurance-issued'
        var b = url.substring(0,url.indexOf('mytest'));
        var newurl = b +'print/' + articlepath + '?lang=en&dir=ltr';        
        window.open(printurl,"_blank");
        history.pushState(null,null,newurl);

}

有人可以在这里帮助我解决此问题吗?

1 个答案:

答案 0 :(得分:0)

这在大多数现代浏览器中均不起作用,但您可以尝试一下:

window.history.pushState("object or string", "title", "/my-new-url");

注意:您也可以将相对路径与这些功能配合使用(例如../new-url或../../new-url。我使用的是旧版chrome。