我有一个产品详情页面,其中有一个编辑铅笔,使用window.open将用户带到新标签页中的ProdDetail页面:
window.open('ProdDetail?ProdId=123', 'xyz');
然后用户可以点击一个按钮,打开ExtraProdDetails页面的第三个标签页。
window.open('ExtraProdDetails?ProdId=123', 'xyz');
然后,最后从ExtraProdDetails页面,用户可以单击“返回产品详细信息”按钮,该按钮将标签切换回ProductDetail页面。没有打开新标签。
window.open('ProdDetail?ProdId=123', 'xyz')
以上流程完美无缺,我在整个过程中最终得到3个标签。
让我们说我对第一步做了一些小改动。当用户点击编辑铅笔时,我不再在新标签页中打开ProdDetail。我希望它在同一个标签中导航到ProdDetail。为此,我只需更改以下内容:
window.open('ProdDetail?ProdId=123', '_self');
然后,当用户打开ExtraProdDetails时,我仍然希望它在新选项卡中。然后,当他们点击'Back to Prod Detail'时,我希望它将它们带到原始的ProdDetail选项卡,而不是创建第三个选项卡。通过这个流程,我只希望它是两个标签。
回顾一下这两个流程:
流程1:
ProdListing (tab1) -> ProdDetail (new tab2) -> ExtraProdDetails (new tab3) -> ProdDetail (Goes back to existing ProdDetail tab2 like it should)
流程2 - 此流程没有预期的行为:
ProdListing (tab1) -> ProdDetail (tab1) -> ExtraProdDetails(tab2) -> ProdDetail (should be going to tab1, but is instead going to a new tab3)