以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 调用写在一个js文件里的2个函数,发现复制不成功 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=118691) |
||||
-- 作者:zhangjian222200 -- 发布时间:2018/5/8 23:18:00 -- 调用写在一个js文件里的2个函数,发现复制不成功 页面代码: With wb.AddButtonGroup("form1","btg3",False) .Add("btn3s25", "复制微信", "button").Attribute= "onclick=""copyText(\'" & bweixh & "\');ajaxform_per_tayaoqing_xqfz(15);""" ’这里调用写在一个js文件里的2个函数,发现复制不成功end with js代码: function ajaxform_per_tayaoqing_xqfz(idx){ //alert("ok"); document.getElementById("tadefk").value = idx var result = submitAjaxForm(\'form1\',\'\',false); if (result ==\'OK\') {show(\'dlg1\')} else if (result ==\'您可能掉线了!\') {show(\'dlg2\')} } function copyText(str) { if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) {//区分iPhone设备 window.getSelection().removeAllRanges();//这段代码必须放在前面否则无效 var Url2=document.getElementById("neirong1");//要复制文字的节点 Url2.innerHTML = str; var range = document.createRange(); // 选中需要复制的节点 range.selectNode(Url2); // 执行选中元素 window.getSelection().addRange(range); // 执行 copy 操作 var successful = document.execCommand(\'copy\'); // 移除选中的元素 window.getSelection().removeAllRanges(); }else{ var Url2=document.getElementById("neirong2");//要复制文字的节点 Url2.value = str; Url2.select(); // 选择对象 document.execCommand("Copy"); // 执行浏览器复制命令 } alert("复制微信成功!请加ta微信!"); } 响应页面: ElseIf tadefk = 15 Then \'即他的反馈等于15 \'已改在前一个页面复制,这里只是保存复制状态 dryqbh("复制微信") = "已经复制" dryqbh.save e.WriteString("复制微信成功!") Return "" End If
[此贴子已经被作者于2018/5/8 23:20:17编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2018/5/9 9:00:00 -- 1、浏览器那里,有么有报错?
2、加入alert能否弹出?
3、你ajax最后return的是空白字符串,不是OK,你要注意这一点。 |
||||
-- 作者:zhangjian222200 -- 发布时间:2018/5/9 12:38:00 -- 点这个按钮 .Add("btn3s25", "复制微信", "button"),截面没有任何反应 2.js立面的alert("复制微信成功!请加ta微信!");没有执行 晚上测试第3条
|
||||
-- 作者:有点甜 -- 发布时间:2018/5/9 14:15:00 -- 1、在你电脑浏览器或者手机浏览器执行能否正常?
2、alert写在js的第一句或者中间,多写几句alert,看哪句代码有问题。 |
||||
-- 作者:zhangjian222200 -- 发布时间:2018/5/9 22:41:00 -- function ajaxform_per_tayaoqing_xqfz(idx){ alert("ok-idx"); document.getElementById("tadefk").value = idx var result = submitAjaxForm(\'form1\',\'\',false); if (result ==\'OK\') {show(\'dlg1\')} else if (result ==\'您可能掉线了!\') {show(\'dlg2\')} } function copyText(str) { alert("str1"); if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) {//区分iPhone设备 window.getSelection().removeAllRanges();//这段代码必须放在前面否则无效 var Url2=document.getElementById("neirong1");//要复制文字的节点 Url2.innerHTML = str; alert("str2"); var range = document.createRange(); // 选中需要复制的节点 range.selectNode(Url2); // 执行选中元素 window.getSelection().addRange(range); // 执行 copy 操作 var successful = document.execCommand(\'copy\'); alert("str2"); // 移除选中的元素 window.getSelection().removeAllRanges(); }else{ alert("str3"); var Url2=document.getElementById("neirong2");//要复制文字的节点 alert("str4"); //1楼代码放在服务器上,直接修改lib文件夹里面的这段js代码,直接在手机微信公众号里测试,页面正常,没有什么提示,发现这里执行str4后,之后的alert都不弹出,我是华为麦芒4手机 Url2.value = str; alert("str5"); Url2.select(); // 选择对象 alert("str6"); document.execCommand("Copy"); // 执行浏览器复制命令 alert("str7"); } alert("str8"); alert("复制微信成功!请加ta微信!"); } 刚刚测试了其他地方,使用上述js代码,就可以复制成功,估计是返回空值造成的,正在继续测试
[此贴子已经被作者于2018/5/9 23:00:01编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2018/5/9 23:15:00 -- 以下是引用zhangjian222200在2018/5/9 22:41:00的发言:
刚刚测试了其他地方,使用上述js代码,就可以复制成功,估计是返回空值造成的,正在继续测试
[此贴子已经被作者于2018/5/9 23:00:01编辑过]
其它地方那里测试alert弹出什么?在微信那里alert弹出什么?
如果最后的alert没有弹出,就是js在微信浏览器那里不兼容造成的。
https://www.baidu.com/baidu?wd=%E5%BE%AE%E4%BF%A1+js+%E6%8B%B7%E8%B4%9D
|
||||
-- 作者:zhangjian222200 -- 发布时间:2018/5/9 23:25:00 --
If tadefk = 15 Then \'即他的反馈等于15 dryqbh("女生复制微信") = "已经复制" dryqbh.save e.WriteString("复制微信成功!") Return "" End If js代码:
[此贴子已经被作者于2018/5/10 8:53:32编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2018/5/10 9:14:00 -- 如果alert(4)之后不弹出,就是这句代码有问题 Url2.value = str
你有叫做【neirong2】的元素吗?你页面必须有,才能引用和赋值的。 |
||||
-- 作者:zhangjian222200 -- 发布时间:2018/5/10 9:38:00 -- 哦,没有neirong2元素 在可以复制的页面上,发现了如下代码 wb.InsertHTML("<div id=\'neirong1\' style=\';position: absolute;left:-200px; color: rgba(0,0,0,0);background-color: transparent\'></div>") wb.InsertHTML("<input read style=\'outline: none;border: 0px; color: rgba(0,0,0,0.0);position: absolute;left:-200px; background-color: transparent\' id=\'neirong2\' value=\'\'/>") [此贴子已经被作者于2018/5/10 9:39:27编辑过]
|
||||
-- 作者:zhangjian222200 -- 发布时间:2018/5/10 10:07:00 -- 可以了,太感谢了 |