本来想写个JavaScript测试脚本,自动打开新标签,去访问网页进行一个压力测试,因为JS需要去连接后台的数据,所以没办法使用ab这些工具去压测。看上去一个很简单的需求,却没办法自动实现。
使用window.open
方法只能弹出一个小窗口,不能在新标签页中打开。这就有一个问题了,我当时打开的窗口有上百个,当达到一定数量后,整个chrome就崩溃了。原因我觉得应该是Windows对进程的使用空间有限制,打开一个标签后,chrome会给窗口分配一个新进程或者和其他老进程共用一个,这就会出现标签或者页面过多导致空间占用大,然后程序崩溃了。
后来想到了通过a
标签,可以打开新的标签页,于是就对a标签进行事件的处理。发现同样的代码只有用户有click事件触发时,才会在新标签也中打开一个新窗口,如果使用setTimeout、setInterval这样的函数来调用,或者是在控制台里直接触发click是没办法在新标签也面中打开的,只能在小窗口中打开。也尝试了很多网络上说的方法,比如createEvent
,trigger
,dispatchEvent
都不管用。
相关信息:之前看到一个文章,说Firefox等浏览器对event有一个新的属性event.isTrusted
,可以查看一些这里还有这里。
这里可能是浏览器对于打开新标签页有一些限制吧。不能让程序自动打开无数的标签,但是为什么可以打开新窗口却不能打开新标签页呢?
最后是通过chrome的一个插件New Tab Redirect
来解决的,然后狂按
相关资料
声明:未经允许禁止转载 东东东 陈煜东的博客 文章,谢谢。如经授权,转载请注明: 转载自东东东 陈煜东的博客
2014 年 12 月 7 日 — 14:37
自动打开新窗口么,这。