js - 修改弹出窗口的标题_xsscacy的博客-CSDN博客 https://blog.csdn.net/shen813/article/details/9087029
先利用window.open(url)打开一个窗口,然后在利用设置document.tiltle修改弹出窗口的标题。
在此需要特别声明window.open方法是异步执行的,也就是说如果按照以下的方法去修改标题是不能保证一定都能修改成功的:
var title1="标题"
var obj=window.open(url);
obj.document.title=title1;
有以下两种可能:
(1)window.open(url);方法执行速度比较快,window.open(url);执行完之后再执行 obj.document.title=title1;方法,因此可以正确修改标题。
(2)window.open(url);方法执行速度比较慢,因此异步先执行obj.document.title="标题";该语句执行完毕之后再执行window.open(url);所以刚刚修改的标题又被冲没了。设置标题失败。
因此简单的调用 obj.document.title=title1;并不能达到理想的修改窗口标题的效果。
由于window.open(url);异步执行,所以可以等该方法执行完之后再去设置标题。在此代码修改为如下,可以实现修改标题的功能:
var title1="标题"
var obj=window.open(url);
setTimeout(function(){
obj.document.title = title1 ;
}, 1000) ;
上面的代码表示:先去打开一个新窗口,然后在1秒之后再去设置窗口标题。
上述方法本人已经测试过,可以成功修改标题。
Ps:遇到该问题的时候,从网上找了很多的帖子,但是大部分的帖子都是不负责任的说obj.document.title = title1,竟然不知道open方法的异步执行,对中国的IT人才的素质真的感到心寒,希望广大IT同胞能够认真的对待自己的行业,至少做到敬业好吗?请不要对自己不懂的问题,想当然的回答,人云亦云,一直误人子弟,至少先自己验证一下。
标签:窗口,url,标题,title1,window,obj,js,open From: https://www.cnblogs.com/jmbt/p/16631249.html