• 关于 js html弹窗 的搜索结果

问题

【精品问答】前端实战100例之JavaScript篇

珍宝珠 2020-02-14 15:10:56 1456 浏览量 回答数 1

问题

页面完全加载前,js 如何实现 多按钮弹窗

a123456678 2019-12-01 20:19:41 1185 浏览量 回答数 1

问题

python新手请教一个使用selenium过程中遇到的网页提示窗问题?报错

爱吃鱼的程序员 2020-06-08 17:06:41 0 浏览量 回答数 1

中小企业与商标那些事

企业品牌保护从商标开始,如何挑选一家靠谱的渠道注册商标,解读品牌权益维护的重要节点。

问题

this在function中如何传递?

小旋风柴进 2019-12-01 19:31:20 884 浏览量 回答数 1

问题

跨页面表单提交问题(本人菜菜)就是想将子页面的表单提交了而已

a123456678 2019-12-01 20:22:53 952 浏览量 回答数 1

问题

【javascript学习全家桶】934道javascript热门问题,阿里百位技术专家答疑解惑

管理贝贝 2019-12-01 20:07:22 6202 浏览量 回答数 1

问题

关于调用扫码API的问题

temerx 2019-12-01 22:04:35 2049 浏览量 回答数 3

问题

一个id 绑定click事件 做不同的条件判断?

杨冬芳 2019-12-01 20:07:20 1177 浏览量 回答数 1

问题

根据 函数名 在文档中 定位:报错

kun坤 2020-06-06 15:30:51 0 浏览量 回答数 1

回答

<html> <head> <title>itcast.cn的JQuery实例1:浮动窗口</title> <!--链接外部的js文件--> <script type="text/javascript" src="jslib/jquery.js"></script> <script type="text/javascript" src="jslib/jquerywin.js"></script> <!--链接外部的css文件--> <link type="text/css" rel="stylesheet" href="css/win.css" /> </head> <body> <a onclick="showwin()" href="#">显示浮动窗口</a> <!--如何表示页面中的一个弹出窗口?可以使用div来表示--> <!--目前怎么看都不是一个窗口,因此需要用css来改变一下这个div的样子--> <!--出现标题栏和内容区域--> <div id="win"> <div id="title">我是标题栏啊!!<span id="close" onclick="hide()">X</span></div> <div id="content">我是一个窗口哦!!</div> </div> </body> </html>

a123456678 2019-12-02 03:04:51 0 浏览量 回答数 0

回答

没有相关的事件来获取隐藏按钮点击,keydown/keyup事件中获取到的keyCode都是0,楚了你说的前往keyCode 13. 可以用计时器监视window.innerHeight高度改变来判断。 下面的代码在android chrome浏览器下测试正常,javascript检查android软键盘隐藏显示 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js"></script> <input type="text" id="txt" /> <div id="dv"></div> <script> var timer, windowInnerHeight; function eventCheck(e) { if (e) { //blur,focus事件触发的 $('#dv').html('android键盘' + (e.type == 'focus' ? '弹出' : '隐藏') + '--通过' + e.type + '事件'); if (e.type == 'click') {//如果是点击事件启动计时器监控是否点击了键盘上的隐藏键盘按钮,没有点击这个按钮的事件可用,keydown中也获取不到keyCode值 setTimeout(function () {//由于键盘弹出是有动画效果的,要获取完全弹出的窗口高度,使用了计时器 windowInnerHeight = window.innerHeight;//获取弹出android软键盘后的窗口高度 timer = setInterval(function () { eventCheck() }, 100); }, 500); } else clearInterval(timer); } else { //计时器执行的,需要判断窗口可视高度,如果改变说明android键盘隐藏了 if (window.innerHeight > windowInnerHeight) { clearInterval(timer); $('#dv').html('android键盘隐藏--通过点击键盘隐藏按钮'); } } } $('#txt').click(eventCheck).blur(eventCheck);

小旋风柴进 2019-12-02 02:37:31 0 浏览量 回答数 0

回答

sandbox是html5的新属性,主要是提高iframe安全系数。iframe因安全问题而臭名昭著,这主要是因为iframe常被用于嵌入到第三方中,然后执行某些恶意操作。 现在有一场景:我的网站需要 iframe 引用某网站,但是不想被该网站操作DOM、不想加载某些js(广告、弹框等)、当前窗口被强行跳转链接等,我们可以设置 sandbox 属性。如使用多项用空格分隔。

景凌凯 2020-03-18 18:43:50 0 浏览量 回答数 0

问题

spotify api javascript auth创建播放列表

游客hvab22isfpklc 2019-12-01 22:06:51 5 浏览量 回答数 0

问题

用Uploadify做上传时,点击uploadify.swf图标无法弹出文件选择窗口

a123456678 2019-12-01 20:23:42 2095 浏览量 回答数 1

回答

HTML: <div class="form-group"> {!! Form::label('phone','新手机号',['class' => 'col-md-2 control-label']) !!} <div class="col-md-5"> {!! Form::text('phone',null,['class'=>'form-control']) !!} </div> <div class="col-md-4"> <p class="form-control-static"> <a id="send-captcha" href="#">发送验证码</a> </p> </div> </div> JS: <script> // 定义按钮btn var btn = $("#send-captcha"); // 定义发送时间间隔(s) var SEND_INTERVAL = 60; var timeLeft = SEND_INTERVAL; /** * 绑定btn按钮的监听事件 */ var bindBtn = function(){ btn.click(function(){ // 需要先禁用按钮(为防止用户重复点击) btn.unbind('click'); btn.attr('disabled', 'disabled'); $.ajax({ // ajax接口调用... }) .done(function () { alert('发送成功'); //成功 timeLeft = SEND_INTERVAL; timeCount(); }) .fail(function () { //失败,弹窗 alert('发送失败'); // ** 重要:因为发送失败,所以要恢复发送按钮的监听 ** bindBtn(); btn.remove('disabled'); }); }) } /** * 重新发送计时 **/ var timeCount = function() { window.setTimeout(function() { if(timeLeft > 0) { timeLeft -= 1; btn.html(timeLeft + "后重新发送"); timeCount(); } else { btn.html("重新发送"); bindBtn(); } }, 1000); }

杨冬芳 2019-12-02 02:55:25 0 浏览量 回答数 0

问题

easyUI dialog窗口弹出的小小疑问。

a123456678 2019-12-01 20:22:22 1333 浏览量 回答数 1

问题

CPC端的桌面开发js

michao 2019-12-01 21:08:53 5128 浏览量 回答数 2

问题

nginx配置,为何两个配置一模一样的server,一个能解析php,另一个不能?

落地花开啦 2019-12-01 20:00:08 1191 浏览量 回答数 1

问题

jQuery在iframe工作不正常

a123456678 2019-12-01 20:18:36 973 浏览量 回答数 1

回答

web应用中经常需要判断用户是否已经登录,如果没有登录,那么跳转到登录页面。一般我们在后台页面中都会使用frame来划分功能区。这种方法比较实用,但是随之而来就有一个小问题,就是当用户session超时之后,当用户再在后台进行操作时,我们需要重新让用户登录。一般我会选择使用一个Filter来控制用户的访问权限,当用户没有登录的时候重定向到login.jsp。那么我们可以直接使用request.sendRedirect()方法来实现。但是由于是在frame中,所以这种方式会将login.jsp显示在当前的frame中,这并不是我们想要的效果。sendRedirect放方法中并没有能中的target属性。这里我们可以采用JavaScript来实现这一功能。 PrintWriter out =resp.getWriter(); out.write("<html>"); out.write("<script>"); out.write("window.open ('login.jsp','_top')"); out.write("</script>"); out.write("</html>"); return; 当然,如果浏览器禁用了javascript,那么这种方法就没用了。不过有多少人没事将javascript禁用调用呢。如果有更好的方案(不使用js),麻烦告知我一下..还有一个问题就是,当用户登录失败或者操作执行之后总是需要给出一些提示信息吧。如果总是使用js弹窗来做提示的话,用户体验不好。最好还是专门做一个提示页面,当需要显示提示信息的时候,我们可以呈现该页面,并将一些参数传递过来,比如提示内容,要调转的页面等。在使用struts2时,我不太喜欢使用自带的一些提示功能(也不喜欢用它的标签),小的网站应用根本不用考虑国际化之类的问题,直接把提示硬编码在代码中效率更高,谁没事三天两头的去修改代码… message.jsp [html] view plain copy print? <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath() + request.getAttribute("url"); %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>提示信息</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="Refresh" content="4; url=<%=path%>" /> </head> <body> <table border="0" align="center" cellpadding="5" cellspacing="1" style="font-size: 14px; color: #333333; margin-top: 100px; background: #70afd3"> <tr style="color: #FFFFFF"> <th> 提示信息 </th> </tr> <tr> <td height="100" style="font-size: 12px; background: #FFFFFF"> <div style="font-size: 14px; font-weight: bold; margin: 10px;"> ${message} </div> <div style="margin: 10px;"> 系统将在 <span id="countDownSec" style="color: blue; font-weight: bold"></span> 秒后自动跳转,如果不想等待,直接 <a href=<%=path%> style="color: #069;">点击这里</a> </div> </td> </tr> </table> <script language="javascript" type="text/javascript"> var countDown = function(timer,eleId,interType){ document.getElementById(eleId).innerHTML = timer; var interval = interType=='s'?1000:(interType=='m'?1000*60:1000*60*60); window.setInterval(function(){ timer--; if (timer > 0) { document.getElementById(eleId).innerHTML = timer; } },interval); }; countDown(4,'countDownSec','s'); </script> </body> </html> Action呈现提示页面:setMessage("登录失败:用户名或密码不正确!","/admin/login.jsp");return MESSAGE;效果图:

小旋风柴进 2019-12-02 02:00:06 0 浏览量 回答数 0

问题

Web设计与开发终极资源大全(上)报错 

kun坤 2020-06-08 19:29:45 1 浏览量 回答数 1

回答

1.1 认识视图界面 和大多编辑器一样,该有的基本都有。 1.2 文件夹和文件的打开 文件——>打开文件夹/打开文件 1.3 新建文件/文件夹 新建文件: a. 文件——>新建文件; b. 按Ctrl+n; c. 点文件夹名后面的+号图标。 新建文件夹: 点文件夹名后面的+号图标。 1.4 拆分编辑器(分列) 快加键:Ctrl+\ 点击拆分编辑器图标(右上角)进行拆分编辑器。拆分完毕之后,可以通过鼠标点击拖动文件到相应的列。多列同时浏览免去多文件来回切换。 1.5 集成终端 终端对开发者来说不可或缺,Visual Studio code 自然也自带终端视窗。 可按快捷键Ctrl+`快速调出终端,也可以 查看——>集成终端 调出。 需要注意的是:如果当前的文件夹的路径名称包含中文,会出现终端打开失败(待验证)。 1.6 安装/卸载扩展(插件) a. 进入扩展视图界面安装/卸载 a1.快捷键:Ctrl+shift+x; a2.查看——>扩展; a3.点左侧边框的扩展图标按钮进入。 在顶部搜索框输入你需要的扩展插件,找到之后在扩展插件后面的选项中点击【安装】即可,需要卸载扩展只需要点【卸载】即可。 扩展下载安装完毕之后需要点击【启用】才生效,有些扩展需要重启编辑器才生效。 b. 如何选择扩展(插件)呢? 其实也不难,扩展的名称一般都暴露了它的功能,基本如下: 1.带snippets 一般是代码提示类扩展; 2.带viewer 一般是代码运行预览类扩展; 3.带support 一般是代码语言支持; 4.带document 一般是参考文档类扩展; 5.带Formatt 一般是代码格式化整理扩展; 当然有的snippets 也自带support功能,并不是以上面的关键词作为唯一标准。 1.7 文件图标主题设置 之前写的有一篇经验,链接附上。 0Visual Studio Code 怎么设置文件图标主题? END 2.VS code用户设置 2.1 用户设置入口 VS code支持用户自定义设置编辑器,包括快加键修改、代码高亮、以及扩展插件配置等,点击文件——>首选项——>用户设置。 编辑器会拆分为两列,一个文件是【默认设置】,一个是【settings.json】,用户设置是空的【settings.json】这个文件(之前没有设置的话),需要自定义的设置项就在settings.json文件里写入json代码即可。 2.2 自定义的设置方法为: 1、在【默认设置】里找到相关的设置json代码段,复制该设置完整的json块,例如:【"editor.fontSize": 14,】。 2、到【settings.json】粘贴。不过记得加上外层(前后)“{}”符号,不然不是完整的json,会出错或者设置无效。 例如: { "editor.fontSize": 20} 完后按Ctrl+s保存关掉窗口,编辑器的文字的大小就变成20了。 需要注意的是,【settings.json】的代码必须符合json格式,且名称(如上面的editor.fontSize)和值对(如上面的20)是【默认设置】里有的或者是扩展中支持的,不然不会有任何作用。 END 3.插件推荐及使用配置 VS code的扩展还是比较丰富的,具体选择方法在前面的步骤1.6已经教大家了,下面介绍几个对基本web前端编辑比较实用的扩展插件(我个人认为)。 3.1 HTNL Snippets 为HTML文档提供代码提示功能,包含HTML5。 3.2 easyless为less文档提供提示,错误警告,以及把less文档编译为css文件。可自定义设置。开发者给出的配置例子: "less.compile": {"compress": true,"sourceMap": true,"out":false} 可以粘贴到用户设置的【默认设置】里,也可以粘贴到用户设置settings.json里。后面的懂json的同学自动忽略:如果settings.json是空的,应该写成: {"less.compile": {"compress": true,"sourceMap": true,"out":false}} 如果之前已有写入json代码,你应该在前面的名称/值对块后面加上“,”(新手容易多加或者少加","符号,个人觉得是这样的)。 ****提示:**** 在写的时候,代码内最好不要加注释。"sourceMap": true, 这个地方最好设置成false ,因为当你实际使用的时候浏览器找不到sourceMap 可能会报错或者浏览器一直去找,还没遇到过(我碰到jQuery.js因为这个报错的),入门的同学还是设置成false 比较好。 3.3 VS color Picker 为css文档和HTML文档提供颜色选择,当输入“#”后会出现颜色选择器浮窗,点击相应颜色之后会插入文档中,默认用16进制表示。若想用其他格式的颜色,如RGB等则推荐扩展:Color Picker (Color Picker缺点是需要配置,安装nodejs,并且添加node到全局环境变量中。而且在插入时需要使用命令调出提色板,有点麻烦) 3.4 live HTML Previewer 为html文档提供预览功能,需要用命令或者快捷键调出,会在编辑器中新增一列,用于运行html文件。 a. 按F1在命令框中输入:Show side preview 新增一列显示html,能边写边看到效果,实时预览。 b. 可以在html文档中右键选择:Open in browser 在系统默认浏览器中打开,该模式下不能提供实时预览,保存时不自动刷新浏览器。 3.5 SVG Viewer 为SVG 文档在编辑器中提供预览。 a. 按F1在命令框中输入:SVG b. 选择SVG Viewer,新增一列显示SVG运行结果。 END 4.VS code 用户代码片段 4.1 用户代码片段 设置入口及示例 用户代码片段 是用来提示代码提示及快捷插入的,那么怎么做呢? 1.文件——>首选项——>用户代码片段 2.选择代码语言 3.按固定格式写json代码 示例格式: "Print to console": {"prefix": "log", "body": ["console.log('$1');","$2"],"description": "Log output to console"} 4.2 片段json示例写法详解 可变区域(这里用XXXX表示)如下:A. "Print to XXXX": { //仅作为标识和目的用途,区别于其他代码块(有多个相同值时会报错),不会插入。 B."prefix": "XXXX", //触发提示的关键字符,也就是输入什么时弹出提示窗。例如:当希望输入a的时候就弹出,这里就写a。在提示窗显示。 C. "body": ["XXXX $1 XXXX"], //在编辑器中插入的代码块,例如当在提示窗中选择a的时候就插入【<a>a</a>】那么这里就写:<a>a</a> D. "description": "XXXX" // 这里是相关描述,比如说明插入的代码块内容、用途、代码结构、参数等,仅在提示窗显示不会插入} E. 上面示例中的$1和$2是初始定位光标位置,用于插入后需要修改的值、参数等。还是上面的例子: "body":["<a>$1</a>"] 那么在插入<a></a>之后,光标的位置将处于<a>和</a>的中间。再如: "body":["<a>$1</a>", "<span>$2GBK</span>"] 那么在插入 <a></a> <span>GBK</span> 之后,光标首先在a标签内,输入完内容之后,光标跳到<span>和GBK中间。输入或者移动光标之后光标恢复正常 4.3 怎么使插入的代码块符合格式化标准? 代码格式化主要就是缩进和换行了。 1.要缩进的地方按下TAB键即可,例如:[" <a>$1</a>"] 2.怎么在"body":[]中插入带双引号的内容?因为注释带有特殊符号尤其是带有双引号("")的内容会导致json报错,解决方法是用反斜杠“\”对特殊符号进行转义。 例如: 那么"body":[]那里应该这样写: 这里在"description": "XXXX"那里同样适用。 总的来说,碰到json报错的字符或者符号就用反斜杠“\”进行转义。当然你要考虑插入之后会不会影响程序文档报错或者出现异常,也就是要先确定插入的代码块是正确的完整的,这是自定义代码块存在的意义 4.4 下面是我写的一段完整的示例(XXXX都匿了):自定义的json{ "Print to authorInfo": { "prefix": "au", "body": [ "-----By Ray-----", "mail:XXXXXXX", "description:$1", " Step 1:", " Step 2:", "<a href=\"XXXX/\">凯玩网</a>"], "description": "author info" 来源于网络,供您参考

保持可爱mmm 2019-12-02 02:20:23 0 浏览量 回答数 0

回答

点击某一个函数名,会读取整个文档并弹出子窗口显示 - 这个无论是用原生js还是jquery都可以简单快速做到 定位到选择的函数 - 这个我认为做个锚就行了,如果不太清楚锚是干嘛的,可以参考一下这个  html 网页中的锚点的使用介绍 ######我知道锚,但问题是读取的文档是一个后台的方法类,无法也不能添加锚点...###### 你想搞一个方便从html页面中快速查看 某个语言的函数文档吧。 类似于语言手册一样方便,或者是自己项目文档。 例如,这样一个列表。 json_decode json_encode 点击后会用 js window.open, 指定大小的新窗口打对应的链接。 如 点击 json_decode 弹开 http://php.net/manual/zh/function.json-decode.php ######是的,但就是不知道怎样定位到点击的函数方法######phpDesigner编辑器, 可以直接关连手册. ######回复 @ZeronoFreya : 用 class来选择 例如列表 <div class="my_list"><ul><li>json_decode</li>....</ul></div> Jquery 选择就写成 $('.my_list > ul > li').click(function(){ open new window}); 或者直接就给函数列表加上某个class名 直接用 $('.my_li')选择就成了。 哈哈,不知道你问是不是这样的。######很遗憾不是的...简单来说就是读取一篇文档,但你不能修改其内容,里面有一些关键字,在html里有对应的链接(其实没对应),单击连接后定位到关键字所在行... 类似查找功能######回复 @ZeronoFreya : 就是百度百科中的关键词连接一样对吧。 又不能改html,你怎么知道一段html里某个是关键词。 保存文档没有这个关键词链接,只能在web返回页面时加上,才是你说不能修改html原因吧。 用php把关键词替换成超链接或者加个<span>标签。 ------------------------------------------------------ 问的不清楚,估计连你自己都不知道要写成什么样的。###### 引用来自“dworry”的评论回复 @ZeronoFreya : 就是百度百科中的关键词连接一样对吧。 又不能改html,你怎么知道一段html里某个是关键词。 保存文档没有这个关键词链接,只能在web返回页面时加上,才是你说不能修改html原因吧。 用php把关键词替换成超链接或者加个<span>标签。 ------------------------------------------------------ 问的不清楚,估计连你自己都不知道要写成什么样的。 无法编辑问题真的很.... 请原谅我不及格的语文成绩... 比如html中是这样的: <ul> <li>hahaha</li> <li>...</li> </ul> 后台控制器,不能改 ... function hahaha(){ ... } ... 当我点击<li>hahaha</li>时,会把整个后台控制器作为文本文档读取到变量中, 然后append到<mycode></mycode>,将包含此自定义标签的Div显示(模拟子窗口), 这时就显示了后台控制器的所有方法, 然后,定位到hahaha这个方法所在行... (别问我为啥这么做,上面要求的) 基本来说,就是做一个后台控制器方法的预览器,无修改能力,但必须要同步...所以采用了读取后台控制器文档的方法,所以绝对不能动后台控制器的脑筋 现在我能想到的就是一般文本编辑器所具有的查找功能,但不知道具体如何实现,百度一堆都是调用了一个函数,然后就没了,老实说,我想要的是思路...跑题了 ###### 引用来自“dworry”的评论 回复 @ZeronoFreya : 就是百度百科中的关键词连接一样对吧。 又不能改html,你怎么知道一段html里某个是关键词。 保存文档没有这个关键词链接,只能在web返回页面时加上,才是你说不能修改html原因吧。 用php把关键词替换成超链接或者加个<span>标签。 ------------------------------------------------------ 问的不清楚,估计连你自己都不知道要写成什么样的。 引用来自“ZeronoFreya”的评论 无法编辑问题真的很.... 请原谅我不及格的语文成绩... 比如html中是这样的: <ul> <li>hahaha</li> <li>...</li> </ul> 后台控制器,不能改 ... function hahaha(){ ... } ... 当我点击<li>hahaha</li>时,会把整个后台控制器作为文本文档读取到变量中, 然后append到<mycode></mycode>,将包含此自定义标签的Div显示(模拟子窗口), 这时就显示了后台控制器的所有方法, 然后,定位到hahaha这个方法所在行... (别问我为啥这么做,上面要求的) 基本来说,就是做一个后台控制器方法的预览器,无修改能力,但必须要同步...所以采用了读取后台控制器文档的方法,所以绝对不能动后台控制器的脑筋 现在我能想到的就是一般文本编辑器所具有的查找功能,但不知道具体如何实现,百度一堆都是调用了一个函数,然后就没了,老实说,我想要的是思路...跑题了 就是在线版的 ctage 你用过 sublime text + ctage 或者 是 gvim + ctage 代码跳转的。 ctage 在项目文档中生成 .tage 文本,(看下面是我项目中生成的.tage一段内容) 你可以根据这段内容来定位到要读取的代码。 secure_cookie .\system\core\Security.php /^ $secure_cookie = (config_item('cookie_secure') === TRUE) ? 1 : 0;$/;" v security .\system\core\Input.php /^ $this->security =& $SEC;$/;" v see_json .\application\helpers\common_helper.php /^ function see_json($json) {$/;" f segment .\system\core\URI.php /^ function segment($n, $no_result = FALSE)$/;" f segment_array .\system\core\URI.php /^ $segment_array = 'rsegment_array';$/;" v segment_array .\system\core\URI.php /^ $segment_array = 'segment_array';$/;" v 如我定义的 see_json 函数 第一列是函数名, 第二列是所在文件, 第三个是正则函数名所有行。 see_json    .\application\helpers\common_helper.php    /^    function see_json($json) {$/;"    f 可以在本地生成 .tage文件与代码一起提交上去。 只要写个php解析这个.tage文件最行了。 ######谢谢,我研究一下

kun坤 2020-06-06 15:30:57 0 浏览量 回答数 0

问题

钉钉微应用开发 获取code

星宇寒风 2019-12-01 21:55:43 3535 浏览量 回答数 1

问题

Content Security Policy 入门教程?报错

爱吃鱼的程序员 2020-06-08 21:36:34 0 浏览量 回答数 1

问题

Content Security Policy 入门教程

移动安全 2019-12-01 21:10:32 3052 浏览量 回答数 2

问题

VS2015与.NET4.6发布,为开发提供数百新功能

sunny夏筱 2019-12-01 21:55:59 12222 浏览量 回答数 3

回答

Re苹果手机使用JSAPI扫码功能提示scan err,安卓正常,什么情况?!?! 钉钉自带的扫描在苹果下也可以用,微应用里使用JSAPI就不行,苹果手机权限也看了,全都放开着呢,为什么啊?!? ------------------------- Re苹果手机使用JSAPI扫码功能提示scan err,安卓正常,什么情况?!?! /** * Created by liqiao on 8/10/15. *///logger.i('Here we go...');//logger.i(location.href);/** * _config comes from server-side template. see views/index.jade */dd.config({    agentId: _config.agentId,    corpId: _config.corpId,    timeStamp: _config.timeStamp,    nonceStr: _config.nonceStr,    signature: _config.signature,    jsApiList: [        'runtime.info',        'device.notification.prompt',        'biz.chat.pickConversation',        'device.notification.confirm',        'device.notification.alert',        'device.notification.prompt',        'biz.chat.open',        'biz.util.open',        'biz.user.get',        'biz.contact.choose',        'biz.telephone.call',        'biz.ding.post',        'biz.util.scan']});dd.userid = 0;dd.ready(function () {    //logger.i('dd.ready rocks!');    dd.runtime.info({        onSuccess: function (info) {            //logger.i('runtime info: ' + JSON.stringify(info));        },        onFail: function (err) {            logger.e('fail: ' + JSON.stringify(err));        }    });    dd.runtime.permission.requestAuthCode({        corpId: _config.corpId, //企业id        onSuccess: function (info) {            //logger.i('authcode: ' + info.code);            $.ajax({                url: '/sendMsg.php',                type: "POST",                data: { "event": "get_userinfo", "code": info.code },                dataType: 'json',                timeout: 900,                success: function (data, status, xhr) {                    var info = JSON.parse(data);                    if (info.errcode === 0) {                        //logger.i('user id: ' + info.userid);                        dd.userid = info.userid;                    }                    else {                        logger.e('auth error: ' + data);                    }                },                error: function (xhr, errorType, error) {                    if(error!=null)                        logger.e(errorType + ', ' + error);                }            });        },        onFail: function (err) {            logger.e('requestAuthCode fail: ' + JSON.stringify(err));        }    });    dd.biz.user.get({        onSuccess: function (info) {            //logger.e('userGet success: ' + JSON.stringify(info));        },        onFail: function (err) {            logger.e('userGet fail: ' + JSON.stringify(err));        }    });    $('.chooseonebtn').on('click', function () {        dd.biz.chat.pickConversation({            corpId: _config.corpId, //企业id            isConfirm: 'false', //是否弹出确认窗口,默认为true            onSuccess: function (data) {                var chatinfo = data;                if (chatinfo) {                    console.log(chatinfo.cid);                    dd.device.notification.prompt({                        message: "发送消息",                        title: chatinfo.title,                        buttonLabels: ['发送', '取消'],                        onSuccess: function (result) {                            var text = result.value;                            if (text == '') {                                return false;                            }                            $.ajax({                                url: '/sendMsg.php',                                type: "POST",                                data: { "event": "send_to_conversation", "cid": chatinfo.cid, "sender": dd.userid, "content": text },                                dataType: 'json',                                timeout: 900,                                success: function (data, status, xhr) {                                    var info = data;                                    //logger.i('sendMsg: ' + JSON.stringify(data));                                    if (info.errcode == 0) {                                        //logger.i('sendMsg: 发送成功');                                        /**                                         * 跳转到对话界面                                         */                                        dd.biz.chat.open({                                            cid: chatinfo.cid,                                            onSuccess: function (result) {                                            },                                            onFail: function (err) { }                                        });                                    } else {                                        logger.e('sendMsg: 发送失败' + info.errmsg);                                    }                                },                                error: function (xhr, errorType, error) {                                    logger.e(errorType + ', ' + error);                                }                            });                        },                        onFail: function (err) { }                    });                }            },            onFail: function (err) {            }        });    });    $('.scan').on('click', function () {        dd.biz.util.scan({            type: String,//type为qrCode或者barCode            onSuccess: function (data) {                //onSuccess将在扫码成功之后回调                /* data结构                  { 'text': String}                */                window.location.href = "?ma=" + data.text;            },            onFail: function (err) {                alert("scan err");            }        });    });    $('.phonecall').on('click', function () {        dd.biz.contact.choose({            startWithDepartmentId: 0, //-1表示打开的通讯录从自己所在部门开始展示, 0表示从企业最上层开始,(其他数字表示从该部门开始:暂时不支持)            multiple: false, //是否多选: true多选 false单选; 默认true            users: [], //默认选中的用户列表,userid;成功回调中应包含该信息            corpId: _config.corpId, //企业id            max: 10, //人数限制,当multiple为true才生效,可选范围1-1500            onSuccess: function (data) {                if (data && data.length > 0) {                    var selectUserId = data[0].emplId;                    if (selectUserId > 0) {                        dd.biz.telephone.call({                            users: [selectUserId], //用户列表,工号                            corpId: _config.corpId, //企业id                            onSuccess: function (info) {                                //logger.i('biz.telephone.call: info' + JSON.stringify(info));                            },                            onFail: function (err) {                                logger.e('biz.telephone.call: error' + JSON.stringify(err));                            }                        })                    } else {                        return false;                    }                } else {                    return false;                }            },            onFail: function (err) { }        });    });});dd.error(function (err) {    logger.e('dd error: ' + JSON.stringify(err));}); ------------------------- Re苹果手机使用JSAPI扫码功能提示scan err,安卓正常,什么情况?!?! <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE HTML><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">    <meta name="viewport" content="initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width" />    <link rel="stylesheet" type="text/css" href="css/style.css" />    <link rel="stylesheet" href="http://g.alicdn.com/ilw/ding/0.2.3/styles/main.css?v=262192719_110744" type="text/css" />    <!-- config中signature由jsticket产生,若jsticket失效,则signature失效,表现为dd.error()返回“权限校验失败”之错误。 -->    <!-- 在请求新的jsticket之后,旧的ticket会失效,导致旧ticket产生的signature失效。 -->    <script type="text/javascript">        var _config = {            url: '<%=url%>',            appId: '<%=appId%>',            corpId: '<%=corpId%>',            timeStamp: '<%=timestamp%>',            nonceStr: '<%=nonceStr%>',            signature: '<%=signature%>'        };</script>    <script type="text/javascript" src="/public/javascripts/zepto.min.js"></script>    <script type="text/javascript" src="https://g.alicdn.com/ilw/ding/0.8.9/scripts/dingtalk.js"></script>    <title></title></head><body>    <form id="form1" runat="server">        <div class="carsearch">            <div class="carsearchcon">                <asp:TextBox CssClass="carsin" ID="txtKey" runat="server" placeholder="输入车牌号,如豫A66666"></asp:TextBox>                 <asp:Button CssClass="carsum" ID="btnQuery" runat="server" Text=" " OnClick="btnQuery_Click" />            </div>            <p class="recur"><a class="scan" data-method="biz.util.qrcode" data-param='{}' data-action="alert">重新扫一扫</a></p>        </div>        <h1 class="cartit">车主信息</h1>        <div class="carlist">            <div class="carcon">                <div class="carlisttit">                    车牌号                </div>                <div class="carlistcon">                    <asp:HiddenField ID="hidGuid" runat="server" />                    <asp:HiddenField ID="hidKey" runat="server" />                    <asp:Label ID="LB_CarCode" runat="server" Text=""></asp:Label>                </div>            </div>        </div>        <div class="carlist">            <div class="carcon">                <div class="carlisttit">                    车主姓名                </div>                <div class="carlistcon">                    <asp:Label ID="LB_Name" runat="server" Text=""></asp:Label>                </div>            </div>        </div>        <h1 class="cartit">办卡信息</h1>        <div class="carlist">            <div class="carcon">                <div class="carlisttit">                    卡号                </div>                <div class="carlistcon">                    <asp:Label ID="LB_CardNo" runat="server" Text=""></asp:Label>                </div>            </div>        </div>        <div class="carlist">            <div class="carcon">                <div class="carlisttit">                    办卡时间                </div>                <div class="carlistcon">                    <asp:Label ID="LB_EmitDate" runat="server" Text=""></asp:Label>                </div>            </div>        </div>        <div class="carlist">            <div class="carcon">                <div class="carlisttit">                    有效期                </div>                <div class="carlistcon">                    <asp:Label ID="LB_StartDate" runat="server" Text=""></asp:Label>                    至                    <asp:Label ID="LB_EndDate" runat="server" Text=""></asp:Label>                </div>            </div>        </div>        <div class="carlist">            <div class="carcon">                <div class="carlisttit">                    卡状态                </div>                <div class="carlistcon">                    <asp:Label ID="LB_State" runat="server" Text=""></asp:Label>                </div>            </div>        </div>        <h1 class="cartit">进出车记录(限最近50条)        </h1>        <div class="carotim">            <div class="cotconlist">                <p><asp:Literal ID="ltMsg" runat="server"></asp:Literal></p></div>            <asp:Repeater ID="RepList" runat="server">                <ItemTemplate>                    <div class="cotconlist">                        <p><%#Eval("Car_No") %> <%#Eval("Come_Date") %>-><%#Eval("Go_Date") %></p>                    </div>                </ItemTemplate>            </asp:Repeater>        </div>    </form>    <script type="text/javascript" src="/public/javascripts/logger.js"></script>    <script type="text/javascript" src="/public/javascripts/demo.js"></script></body></html> ------------------------- Re苹果手机使用JSAPI扫码功能提示scan err,安卓正常,什么情况?!?! 全部代码都在上面了,苹果手机扫描失败!安卓正常! ------------------------- Re苹果手机使用JSAPI扫码功能提示scan err,安卓正常,什么情况?!?! 学习了!!大神就是牛X

蓝小新 2019-12-02 02:45:45 0 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 SQL审核 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站 人工智能 阿里云云栖号 云栖号案例 云栖号直播