#989
展开↯#991
作者:广西南宁市
需要先开通qq在线客服状态,否则跳转链接会错误或者空白没有反应
QQ在线客服 qq推广 QQ通讯组件

该段代码,即能嵌入到你的页面,实现在线交流的功能。
QQ在线客服 qq推广 QQ通讯组件
<a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=2500152288&site=qq&menu=yes"><img border="0" src="http://wpa.qq.com/pa?p=2:515807823:53" alt="点击这里给我发消息" title="点击这里给我发消息"/></a>
Run code
Cut to clipboard
该段代码,即能嵌入到你的页面,实现在线交流的功能。
文章:安卓苹果手机不同qq客服在线代码 发表时间:2017-09-05, 17:47:33
#992
作者:广西南宁市
1. 获取选中项:
获取选中项的Value值:
$('select#sel option:selected').val();
或者
$('select#sel').find('option:selected').val();
获取选中项的Text值:
$('select#seloption:selected').text();
或者
$('select#sel').find('option:selected').text();
2. 获取当前选中项的索引值:
$('select#sel').get(0).selectedIndex;
3. 获取当前option的最大索引值:
$('select#sel option:last').attr("index")
4. 获取DropdownList的长度:
$('select#sel')[0].options.length;
或者
$('select#sel').get(0).options.length;
5. 设置第一个option为选中值:
$('select#sel option:first').attr('selected','true')
或者
$('select#sel')[0].selectedIndex = 0;
6. 设置最后一个option为选中值:
Run code
Cut to clipboard
文章:js获取select标签选中的值 发表时间:2017-09-05, 14:59:55
#993
作者:广西南宁市
1.获取选中值,三种方法都可以:
$('input:radio:checked').val();
$("input[type='radio']:checked").val();
$("input[name='rd']:checked").val();
2.设置第一个Radio为选中值:
$('input:radio:first').attr('checked', 'checked');
或者
$('input:radio:first').attr('checked', 'true');
注:attr("checked",'checked')= attr("checked", 'true')= attr("checked", true)
3.设置最后一个Radio为选中值:
$('input:radio:last').attr('checked', 'checked');
或者
$('input:radio:last').attr('checked', 'true');
4.根据索引值设置任意一个radio为选中值:
$('input:radio').eq(索引值).attr('checked', 'true');索引值=0,1,2....
或者
$('input:radio').slice(1,2).attr('checked', 'true');
5.根据Value值设置Radio为选中值
$("input:radio[value=http://www.2cto.com/kf/201110/'rd2']").attr('checked','true');
或者
$("input[value=http://www.2cto.com/kf/201110/'rd2']").attr('checked','true');
6.删除Value值为rd2的Radio
$("input:radio[value=http://www.2cto.com/kf/201110/'rd2']").remove();
7.删除第几个Radio
$("input:radio").eq(索引值).remove();索引值=0,1,2....
如删除第3个Radio:$("input:radio").eq(2).remove();
8.遍历Radio
$('input:radio').each(function(index,domEle){
//写入代码
});
Run code
Cut to clipboard
文章:js获取select标签选中的值 发表时间:2017-09-05, 14:59:40
#995
作者:广西南宁市
微信授权登录成功但是却是空白页面
#,广西南宁市,2017-09-04,14:39:53, 微信网页授权 微信公众平台技术文档
/**
* 通过oauth2.0获取openid
* 若只需要获取用户openid,调用次方法,若需要获取用户所有信息,请调用getOpenidByOauth2()方法
*/
protected function getOpenidByOauth() {
$wx_info = $this->wx_info;
// 获取openid
if (!$openid) {
if (!isset($_GET['code'])) {
$customeUrl = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$scope = 'snsapi_base';
$oauthUrl = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' . $wx_info['appid'] . '&redirect_uri=' . urlencode($customeUrl) . '&response_type=code&scope=' . $scope . '&state=oauth#wechat_redirect';
header('Location:' . $oauthUrl);
exit();
}else{
$url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=' . $wx_info['appid'] . '&secret=' . $wx_info['appsecret'] . '&code=' . $_GET['code'] . '&grant_type=authorization_code';
$result = json_decode(curlGet($url), true);
$openid = $result['openid'];
}
}
Run code
Cut to clipboard
文章:PHP实现微信支付(jsapi支付)和退款(无需集成支付SDK) 发表时间:2017-09-04, 14:38:43
#996
作者:广西南宁市
swf新型版本浏览器,谷歌浏览器空白,flash兼容新版本浏览器
#,广西南宁市,2017-08-31,17:15:27, HTML插入SWF
<object classid="clsid27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"
width="100%" height="100%" align="center">
<param name="movie" value="../Public/flash/jinti.swf">
<param name="quality" value="high">
<param name="wmode" value="transparent"> <!--这里代码可使Flash背景透明 -->
<embed src="../Public/flash/jinti.swf" width="100%" height="100%"
align="center" quality="high"
pluginspage="http://www.macromedia.com/go/getflashplayer"
type="application/x-shockwave-flash">
</embed>
</object>
Run code
Cut to clipboard
文章:常用html、demo代码 发表时间:2017-08-31, 17:00:10
#997
作者:广西南宁市
JQuery 对 Select option 的操作
下拉框:
下面是对下拉框的基本操作:
#,广西南宁市,2017-08-31,15:28:46,
option[text=5]这种?为什么我不行,而且网上也有一些说不行的。但是也有很多这样子写的,这到底是误导还是?
下拉框:
<select id="selectID" >
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
Run code
Cut to clipboard
下面是对下拉框的基本操作:
<script language="javascript">
$(document).ready(function() {
//绑定下拉框change事件,当下来框改变时调用 SelectChange()方法
$("#selectID").change(function() { SelectChange(); });
})
function SelectChange() {
//获取下拉框选中项的text属性值
var selectText = $("#selectID").find("option:selected").text();
alert(selectText);
//获取下拉框选中项的value属性值
var selectValue = $("#selectID").val();
alert(selectValue);
//获取下拉框选中项的index属性值
var selectIndex = $("#selectID").get(0).selectedIndex;
alert(selectIndex);
////获取下拉框最大的index属性值
var selectMaxIndex = $("#selectID option:last").attr("index");
alert(selectMaxIndex);
}
function aa() {
//设置下拉框index属性为5的选项 选中
$("#selectID").get(0).selectedIndex = 5;
}
function bb() {
//设置下拉框value属性为4的选项 选中
$("#selectID").val(4);
}
function cc() {
//设置下拉框text属性为5的选项 选中
$("#selectID option[text=5]").attr("selected", "selected");
$("#yyt option:contains('5')").attr("selected", true);
}
function dd() {
//在下拉框最后添加一个选项
$("#selectID").append("<option value='7'>7</option>");
}
function ee() {
//在下拉框最前添加一个选项
$("#selectID").prepend("<option value='0'>0</option>")
}
function ff() {
//移除下拉框最后一个选项
$("#selectID option:last").remove();
}
function gg() {
//移除下拉框 index属性为1的选项
$("#selectID option[index=1]").remove();
}
function hh() {
//移除下拉框 value属性为4的选项
$("#selectID option[value=4]").remove();
}
function ii() {
//移除下拉框 text属性为5的选项
$("#selectID option[text=5]").remove();
}
</script>
Run code
Cut to clipboard
option[text=5]这种?为什么我不行,而且网上也有一些说不行的。但是也有很多这样子写的,这到底是误导还是?
文章:on click事件在移动端点击无效bug 发表时间:2017-08-31, 15:28:13
#998
作者:广西南宁市
修改输入框placeholder文字默认颜色-webkit-input-placeholder
也可以给这个属性加字体
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
color: #000; opacity:1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
color: #000;opacity:1;
}
input:-ms-input-placeholder{
color: #000;opacity:1;
}
input::-webkit-input-placeholder{
color: #000;opacity:1;
}
Run code
Cut to clipboard
也可以给这个属性加字体
input::-webkit-input-placeholder { /* WebKit browsers*/
color:#999;font-size:14px;
}
input:-moz-placeholder { /* Mozilla Firefox 4 to 18*/
color:#999;font-size:14px;
}
input::-moz-placeholder { /* Mozilla Firefox 19+*/
color:#999;font-size:14px;
}
input:-ms-input-placeholder { /* Internet Explorer 10+*/
color:#999;font-size:14px;
}
Run code
Cut to clipboard
文章:on click事件在移动端点击无效bug 发表时间:2017-08-31, 15:27:13
#999
作者:广西南宁市
jquery去掉onclick事件
删除onclick属性:$(“a”).removeAttr(“onclick”);
设置onclick属性:$(“a”).attr(“onclick”,”test();”);
Run code
Cut to clipboard
文章:on click事件在移动端点击无效bug 发表时间:2017-08-31, 15:26:18
#1000
作者:广西南宁市
[微信开发]invalid credential, access_token is invalid or not latest hint
##################正解################
这种情况跟这个库没有直接关系。
请检查一下是否有别的地方同时请求了access token,导致微信服务器发放了新的access token给别人。尤其是dev环境
##################正解################
查了好久,先发现下载到本地的文件size很小,只有100来字节,我以为只有头文件,老大说,你要么看看这文件的二进制流是什么,打开一看原来是一个error信息,是JSON字符串
{"errcode":40001,"errmsg":"invalid credential, access_token is invalid or not latest hint: [2HYQIa0031ge10] "}
看了下错误code,是access_token过期。
但是官网里说 token默认是7200秒过期,为啥那么快?结果后来百度到,如果有第二地方也请求同一个token的话,那么第一个token会在5分钟之内过期。这也就说明了,为什么在我搭建好第二个环境的时候,老环境就出现了这种问题。因为这两个环境用的是同一个AppID和AppSecret来取得的
access_token,而这个access_token的取得并不是在服务器启动的时候,而且是在需要调用接口的画面初期化的时候去取得的。把取得的token放在s()全局缓存变量中,3600秒过期,方法是
所以就一直使用过期的token;一旦token过期,就无法调用js接口了。
##################正解################
这种情况跟这个库没有直接关系。
请检查一下是否有别的地方同时请求了access token,导致微信服务器发放了新的access token给别人。尤其是dev环境
##################正解################
查了好久,先发现下载到本地的文件size很小,只有100来字节,我以为只有头文件,老大说,你要么看看这文件的二进制流是什么,打开一看原来是一个error信息,是JSON字符串
{"errcode":40001,"errmsg":"invalid credential, access_token is invalid or not latest hint: [2HYQIa0031ge10] "}
看了下错误code,是access_token过期。
但是官网里说 token默认是7200秒过期,为啥那么快?结果后来百度到,如果有第二地方也请求同一个token的话,那么第一个token会在5分钟之内过期。这也就说明了,为什么在我搭建好第二个环境的时候,老环境就出现了这种问题。因为这两个环境用的是同一个AppID和AppSecret来取得的
access_token,而这个access_token的取得并不是在服务器启动的时候,而且是在需要调用接口的画面初期化的时候去取得的。把取得的token放在s()全局缓存变量中,3600秒过期,方法是
$token = s("access_token");
if($token){
//重新取得token;
}
return $token;
Run code
Cut to clipboard
所以就一直使用过期的token;一旦token过期,就无法调用js接口了。
文章:最简单的微信支付和退款(无需集成微信支付SDK)代码 发表时间:2017-08-31, 15:09:14
#1001
展开↯#1002
作者:广西南宁市
点击出现黑色背景的解决:-webkit-tap-highlight-color:rgba(0,0,0,0)
在手机上(iphone)点击按钮的时候,屏幕总会闪动一下,这让页面看起来很不友好也不流畅。解决方案加了一句css就解决了:
//webkit是苹果浏览器引擎,tap点击,highlight背景高亮,color颜色,颜色用数值调节。
原因如下:
在移动端上,有事件监听的元素被点击的时候会被高亮显示,而-webkit-tap-highlight-color属性会在当用户点击iOS的Safari浏览器中的链接或JavaScript的可点击的元素时,覆盖显示的高亮颜色。
该属性可以只设置透明度。如果未设置透明度,iOS Safari使用默认的透明度。当透明度设为0,则会禁用此属性;当透明度设为1,元素在点击时不可见。
ios微信点击超链接,去掉半透明黑色框效果
iOS微信点击超链接或是图片超链接,总是弹出一层黑色遮罩层,在a标签上添加style='-webkit-tap-highlight-color:rgba(255,0,0,0);'即可
在手机上(iphone)点击按钮的时候,屏幕总会闪动一下,这让页面看起来很不友好也不流畅。解决方案加了一句css就解决了:
-webkit-tap-highlight-color:rgba(0,0,0,0)
Run code
Cut to clipboard
//webkit是苹果浏览器引擎,tap点击,highlight背景高亮,color颜色,颜色用数值调节。
原因如下:
在移动端上,有事件监听的元素被点击的时候会被高亮显示,而-webkit-tap-highlight-color属性会在当用户点击iOS的Safari浏览器中的链接或JavaScript的可点击的元素时,覆盖显示的高亮颜色。
该属性可以只设置透明度。如果未设置透明度,iOS Safari使用默认的透明度。当透明度设为0,则会禁用此属性;当透明度设为1,元素在点击时不可见。
a{-webkit-tap-highlight-color:rgba(255,0,0,0);outline:none;}
Run code
Cut to clipboard
ios微信点击超链接,去掉半透明黑色框效果
iOS微信点击超链接或是图片超链接,总是弹出一层黑色遮罩层,在a标签上添加style='-webkit-tap-highlight-color:rgba(255,0,0,0);'即可
文章:on click事件在移动端点击无效bug 发表时间:2017-08-31, 15:00:46
#1003
作者:广西南宁市
异步接收通知
/**
* notify_url接收页面
*/
public function notify(){
// ↓↓↓下面的file_put_contents是用来简单查看异步发过来的数据 测试完可以删除;↓↓↓
// 获取xml
$xml=file_get_contents('php://input', 'r');
//转成php数组 禁止引用外部xml实体
libxml_disable_entity_loader(true);
$data= json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA));
file_put_contents('./notify.text', $data);
// ↑↑↑上面的file_put_contents是用来简单查看异步发过来的数据 测试完可以删除;↑↑↑
// 导入微信支付sdk
Vendor('Weixinpay.Weixinpay');
$wxpay=new \Weixinpay();
$result=$wxpay->notify();
if ($result) {
// 验证成功 修改数据库的订单状态等 $result['out_trade_no']为订单id
}
}
Run code
Cut to clipboard
文章:ThinkPHP中实现微信支付(jsapi支付)流程 发表时间:2017-08-31, 14:52:38
#1004
作者:广西南宁市
/**
* 使用curl获取远程数据
* @param string $url url连接
* @return string 获取到的数据
*/
function curl_get_contents($url){
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, $url); //设置访问的url地址
// curl_setopt($ch,CURLOPT_HEADER,1); //是否显示头部信息
curl_setopt($ch, CURLOPT_TIMEOUT, 5); //设置超时
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); //用户访问代理 User-Agent
curl_setopt($ch, CURLOPT_REFERER,$_SERVER['HTTP_HOST']); //设置 referer
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1); //跟踪301
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //返回结果
$r=curl_exec($ch);
curl_close($ch);
return $r;
}
Run code
Cut to clipboard
文章:ThinkPHP中实现微信支付(jsapi支付)流程 发表时间:2017-08-31, 14:51:30
#1005
作者:广西南宁市
// 返回状态给微信服务器
if ($result) {
$str='<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>';
}else{
$str='<xml><return_code><![CDATA[FAIL]]></return_code><return_msg><![CDATA[签名失败]]></return_msg></xml>';
}
echo $str;
return $result;
Run code
Cut to clipboard
文章:ThinkPHP中实现微信支付(jsapi支付)流程 发表时间:2017-08-31, 14:47:45
#1006
作者:广西南宁市
微信支付接口返回“签名错误”的排查方法
1、确认公众号的appSecret和商户号的API密钥没有搞混。
2、重置商户API密钥。(本人亲测是这样解决了问题,tx真是个坑,我严重鄙视。)
3、确认公众号授权的域名和目录是正确的。
4、参数body含有中文字符,改换英文签名成功,那么就转换字符编码试试。
$dat = iconv('UTF-8','ISO8859-1',array2xml($package));
5、血的教训,以上都试过之后,再仔细对比参数,确认签名算法没有问题,可以使用官网的调试工具验证自己的签名是否正确。
1、确认公众号的appSecret和商户号的API密钥没有搞混。
2、重置商户API密钥。(本人亲测是这样解决了问题,tx真是个坑,我严重鄙视。)
3、确认公众号授权的域名和目录是正确的。
4、参数body含有中文字符,改换英文签名成功,那么就转换字符编码试试。
$dat = iconv('UTF-8','ISO8859-1',array2xml($package));
5、血的教训,以上都试过之后,再仔细对比参数,确认签名算法没有问题,可以使用官网的调试工具验证自己的签名是否正确。
文章:ThinkPHP中实现微信支付(jsapi支付)流程 发表时间:2017-08-31, 14:44:33
#1007
作者:广西南宁市
把xml转成数组
$result= json_decode(json_encode(simplexml_load_string($xmlstr, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
Run code
Cut to clipboard
文章:ThinkPHP中实现微信支付(jsapi支付)流程 发表时间:2017-08-31, 14:42:26
1、 最多创建3个一级菜单,一级菜单名称名字不多于4个汉字或8个字母。
2、 每个一级菜单下的子菜单最多可创建5个,子菜单名称名字不多于8个汉字或16个字母。
温馨提示:编辑中的菜单不会马上被用户看到,发布成功后,会在24小时后在手机端同步显示,粉丝不会收到更新提示,若多次编辑,以最后一次保存为准。