JS中打开新页面方式

前端代码中经常需要打开新页面,这里总结下做法和遇到的问题

做法

  1. a标签
  2. window.open

两者具体来说window控制会更为精细,比如可以控制窗体宽高等。a标签的话需要DOM下需要创建出a标签元素,只是具体可见不可见就看情况了。a标签相比较更为推荐,因为代表着用户行为驱动的交互形式。

pwa中的行为表现

pwa是网页的一种展示形态。如果是pwa中使用了上述两种打开新页面的方式,行为也有不同。

  1. a标签会回到传统浏览器UI下打开
  2. window的话还是会以pwa配置的形式打开,比如pwa配置standalone,则打开的window也是

个人觉得pwa下应该使用location.href,不要打开新tab页面,尽可能创造类App体验。