代码改变世界

一天一小段js代码(no.2)

  大额_skylar  阅读(278)  评论(0编辑  收藏  举报

 

(一)可以用下面js代码来检测弹出窗口是否被屏蔽:

 

复制代码
var blocked = false ;

try {
    /*window.open()方法接受4个参数window.open(要加载的url,窗口目标,一个特性字符串,表示新页面是否取代浏览器历史记录中当前加载页面的布尔值)*/
    /*窗口目标还可以是_self,_parent ,_top, _blank*/
    var wroxWin = window.open("http://www.baidu.com","_self");
    if(wroxWin == null){
        blocked = true;
    }
}catch(ex){
    blocked = true ;
}

if(blocked){
    alert("The popup was blocked");
}
复制代码

 

(二)Javascript是单线程语言,可以通过超时调用和间歇调用调度代码(javascript有一个任务队列,顺序执行)在特定的时间执行,一般认为,使用超时调用来模拟间歇调用是一种最佳的方式,因为后一个间歇调用可能会在前一个间歇调用结束之前调用。

复制代码
/*使用超时调用模拟间歇调用*/
var num = 0;
var max = 10;

function incrementNumber(){
    num++;
    /*如果执行次数未达到max设定的值则另一次超时调用*/
    if(num<max){
        setTimeout(incrementNumber,500);
    }else{
        alert('Done');
    }
}

setTimeout(incrementNumber,500);
复制代码

 

       

编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示