首页 > 其他分享 >js - 修改弹出窗口的标题

js - 修改弹出窗口的标题

时间:2022-08-27 19:11:14浏览次数:76  
标签:窗口 url 标题 title1 window obj js open

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

相关文章

  • js高级
    一、面向对象的编程介绍1.面向过程编程pop面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的依次调用就可以了。......
  • 【前端】 第05回 JS操作与jQuery
    目录1.JS操作1.1JS获取用户输入1.2JS类属性操作1.3JS样式操作2.事件2.1事件理解2.2绑定事件的两种方式2.3事件中的关键字this2.4window.onload2.5校验用户输入案......
  • js笔记整理2
    对象及日期定时器日期对象的定义(使用new关键词)1.获取当前的时间(本地的时间)vardate=newDate()//不传参就是获取当前时间2.获取指定的时间vardate=newDate(......
  • day 22 JSONP及Axios
    JSONP及Axiosjsonp概述:JSONP是一种跨域解决方案,它主要是利用了script标签不受跨域影响的特性来完成对应的请求操作。实际上是一个get请求。什么叫跨域同源策略(属于浏览......
  • JSONP及Axios
    JSONP及Axiosjsonp概述:JSONP是一种跨域解决方案,它主要是利用了script标签不受跨域影响的特性来完成对应的请求操作。(默认是一个get请求。)什么叫跨域同源策略(属于浏览器......
  • JS-BOM
    BOMBOM的概述:bom称为浏览器对象模型(bowserobjectmodel),也就意味他可以获取浏览器上的所有内容以及相关的操作。BOM缺乏规范的,存在共有对象来解决这个问题,但是共有对象......
  • JS-数组
    数组数据结构 数据的结构(逻辑结构存储结构算法)存储结构(数据存储的结构方式)线性结构数组(顺序表)队列栈堆链表非线性结构树图hash(散列表......
  • Js-字符串
    字符串字符串字符串也是一个数据结构,将同样的内容串在一块。因为在对应的js里面字符串属于一个值类型(值类型是常量常量是不能变)。字符串是不能改变的。结合数据结构里面......
  • JS 中var声明的缺点 以及解决方法 let 和 const(声明常量)的使用
    1、允许重复变量的声明,导致数据被覆盖vara=199;此处省略一千行代码;vara=200;1002行代码并不会报错,且初始的a变量被覆盖,造成了我们的阅读障碍。2、变量提升......
  • JS 中对象的创建方法
    //字面量创建对象    //varobj={};   //创建了一个空对象    //varobj={      //name:'hong',     ......