场景:在执行js的时候,我们希望运行到某处,进行用户交互,根据交互的内容,运行下面的程序;下面的js程序需要用的和用户交互的内容,所以,和用户交互时,后面的程序必须停止运行

  方案:

  • 1、 原生的alert/confirm/prompt是可以实现这样的操作的,但是它们的界面很丑,而且有些浏览器会禁掉这个三个操作
  • 2、利用插件,比如弹出层插件 layer:http://layer.layui.com/

  下面就说下方案2:

  官网下载layer组件,直接引入<script src="layer.js"></script>

  如下所示:把后续要执行的js代码放入函数中function(value, index, elem){},这样只有用户输入交互内容,才会执行后面的程序。

  layer.prompt({
"title":"请输入报告名字",
            yes:function(){}, //就是点击确定按钮的时候执行的操作;
            cancel:function(){}, //就是点击取消的时候执行的操作;
            end:function(){} //就是层在销毁的时候(等同于confirm结束的时候)
},
function(value, index, elem){
            layer.close(index); //关闭对话框 $.ajax({
type:"POST",
url: url,
contentType: 'application/json;charset=utf-8',
data: JSON.stringify(data),
dataType:'json',
success:function (result) {
{#$('#infomation').html('<div style="color:green">执行成功,请等待一会<i class="fa fa-smile-o"></i>……<i class="fa fa-refresh fa-spin"></i></div>');#}
{#$('#report_name').attr('hidden','hidden');#}
{#$('#infomation').removeAttr('hidden');#}
{#$('#modal-default').modal('show');#}
window.location.href = "/onlinePerform/jmeterDetail/" + result.project_id +"/"+result.scene_id+"/"+result.report_id
},
fail: function (result,result1,result2) {
{#$('#infomation').html('<div style="color:red">执行失败,请检查网络问题<i class="fa fa-smile-o"></i>……<i class="fa fa-refresh fa-spin"></i></div>');#}
{#$('#report_name').attr('hidden','hidden');#}
{#$('#infomation').removeAttr('hidden');#}
{#$('#modal-default').modal('show');#}
console.error(result)
console.error(result1)
console.error(result2) }
})
});

参考:

1、http://www.layui.com/doc/modules/layer.html#layer.prompt

如何模拟alert/confirm/prompt实现阻断程序运行的更多相关文章

  1. alert/confirm/prompt 处理

    webdriver 中处理JavaScript 所生成的alert.confirm 以及prompt 是很简单的.具体思路是使用switch_to_alert()方法定位到alert/confirm/ ...

  2. 转:python webdriver API 之alert/confirm/prompt 处理

    webdriver 中处理 JavaScript 所生成的 alert.confirm 以及 prompt 是很简单的.具体思路是使用switch_to.alert()方法定位到 alert/conf ...

  3. selenium python (十一)alert/confirm/prompt的处理(js中的弹出框)

    webdriver中处理js所生成的alert.confirm以及prompt,采用switch_to_alert()方法定位到alert/confirm/prompt.然后使用text/accept ...

  4. Python脚本控制的WebDriver 常用操作 <二十二> 处理alert / confirm / prompt

    测试用例场景 webdriver中处理原生的js alert confirm 以及prompt是很简单的.具体思路是使用switch_to.alert()方法定位到alert/confirm/prom ...

  5. Java Selenium - 几种对话框处理Alert\confirm\prompt

    1. Alert , 先用常规办法定位到能触发alert的按钮 , 然后 Alert alert = driver.switchTo().alert(); alert.accept(); 如果aler ...

  6. 2.11 alert\confirm\prompt

    2.11 alert\confirm\prompt 前言   不是所有的弹出框都叫alert,在使用alert方法前,先要识别出到底是不是alert.先认清楚alert长什么样子,下次碰到了,就可以用 ...

  7. Python+Selenium学习--alert/confirm/prompt 处理

    场景 webdriver 中处理JavaScript 所生成的alert.confirm 以及prompt 是很简单的.具体思路是使用switch_to.alert()方法定位到alert/confi ...

  8. Selenium2学习(十二)-- alert\confirm\prompt

    前言 不是所有的弹出框都叫alert,在使用alert方法前,先要识别出到底是不是alert.先认清楚alert长什么样子,下次碰到了,就可以用对应方法解决. alert\confirm\prompt ...

  9. selenium自动化测试入门 Alert/Confirm/Prompt 弹出窗口处理

    一.Alert/Confirm/Prompt弹出窗口特征说明 Alert弹出窗口: 提示用户信息只有确认按钮,无法通过页面元素定位,不关闭窗口无法在页面上做其他操作. Confirm 弹出窗口: 有确 ...

随机推荐

  1. 异常 ndroid.view.InflateException: Binary XML file line #8: Error inflating class com.ouyang.test.MyView

    发现自定义view时出现ndroid.view.InflateException: Binary XML file line #8: Error inflating class com.ouyang. ...

  2. dedecms 建站相关问题

    1.栏目新建文章提示:模板文件不存在,无法解析文档! 解决方法:把模板文件使用".html"的格式 /include/arc.archives.class.php 556行 if ...

  3. js实现获取当前时间是本月第几周的方法

    这篇文章主要介绍了js实现获取当前时间是本月第几周的方法,涉及javascript针对日期及时间的相关操作技巧,非常简单实用,需要的朋友可以参考下. 本文实例讲述了js实现获取当前时间是本月第几周的方 ...

  4. 03-python进阶-爬虫入门-正则

    [urllib and urllib2] 这是两个python的网络模块 内置的 提供很好的网络访问的功能. #!coding:utf-8 import urllib2 res = urllib2.u ...

  5. maya 2014帮助手册中 三维概念讲解

    maya 2014 帮助手册中   三维概念讲解 多边形简介 三个或更多的边,   顶点    边    面  组成 经常使用三边形或四边形来建模   n边形不常用 单个多边形称为面   多个面连接到 ...

  6. ASP.NET MVC下使用SWFUpload完成剪切头像功能

    首先介绍SWFUpload组件 SWFUpload是一个客户端文件上传工具,最初由Vinterwebb.se开发,它通过整合Flash与JavaScript技术 为WEB开发者提供了一个具有丰富功能继 ...

  7. [python学习篇][书籍学习][python standrad library][内建函数]之[all,any,basestring,isinstance,bin,bool,@classmethod,@staticmethod,cmp,enumerate

    Python 解释器内置了一些函数,它们总是可用的.这里将它们按字母表顺序列出.     Built-in Functions     abs() divmod() input() open() st ...

  8. AtCoder Petrozavodsk Contest 001

    第一场apc,5H的持久战,我当然水几个题就睡了 A - Two Integers Time limit : 2sec / Memory limit : 256MB Score : 100 point ...

  9. cf496D Tennis Game

    Petya and Gena love playing table tennis. A single match is played according to the following rules: ...

  10. wireshark推荐书籍

    1 wireshark数据包分析实战 有中文版 2 wireshark网络分析 英文版 3 TCP/IP协议栈详解卷一