<title>Origin</title>
<title>Overwrite Origin</title>
<script>
var sum = 0
document.onclick = function()
{
sum ++
// 获取页面上所有title标签对象数组
var titles = document.getElementsByTagName("title")
// 总共有多少个title标签,这两行只是用于更方便理解这段代码,没有实际意义
var len = titles.length
// 这一行会弹出“Overwrite Origin”,虽然它并没有被解析为本页面显示的title,但仍然是DOM树上的一个文本节点,可以被JS调用到,要修改title内容并不是修改此节点,下面一行注释会进行说明
alert(titles[len - 1].innerText)
// 浏览器在遇到第一个title标签后会将其内容作为title内容,忽略之后的title标签解析,所以JS需要改变第一个title标签的innerText子节点达到目的
titles[0].innerText = "Title changed for " + sum + " time" + (sum <2 ? "!" : "s!")
// 原先的title上显示着“Origin”,点击一次后更改为“Title changed for 1 time!”,点击两次后更改为“Title changed for 2 times!”,以此类推
}
</script>
这段代码不仅仅是应用于微信浏览器,也应用于其他webkit内核浏览器。
在微信浏览器里面开启H5网页中执行JS调起支付在微信浏览器中访问你制作的HTML5的介面。
介面中使用了微信提供的JS程式码,该程式码可以唤起微信支付,让使用者进行支付。
在微信浏览器中执行js: typeof(WeixinJSBridge) 为什么是undefined呢 页面需要引入什么js么?不需要引用js,但是你要这么写:
if (typeof WeixinJSBridge == "undefined") {
if (document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', wxPayCall, false)
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', wxPayCall)
document.attachEvent('onWeixinJSBridgeReady', wxPayCall)
你要在注册一下WeixinJSBridgeReady
不需要引入js
现在已经被禁用了
function weixinShareTimeline(title,desc,link,imgUrl)
WeixinJSBridge.invoke('shareTimeline',
"img_url":imgUrl,
"img_width":"640",
"img_height":"640",
"link":link,
"desc": desc,
"title":title
如何在IOS的safari浏览器调起微信支付
在浏览器中调起微信支付,一般情况下,是在后台接入微信支付的介面,然后当用户需要支付的时候,在前台显示一个支付的二维码,使用者使用微信支付的扫一扫功能,扫描该二维码,获取相应的支付资讯,使用手机进行支付
如何才能只让网页在微信浏览器里开启在手机端吗?需要root或者越狱之后,修改预设浏览器的应用为微信客户端就行了。
在微信内建浏览器里面能直接开启的wap网页吗这个是网站的证书问题 跟你的电脑浏览器没有问题 一般你认为那个网站上是安全的 那么就是安全的; 一般商业网站才会使用SSL证书的
理论上是可以的,但是微信有它自己的一套安全机制,不是什么网页都允许在内部开启。有时它会提示“点选右上角选单选择在浏览器开启”,所以在里面开启的页面最好要简单一些,不要太复杂。
你好。
微信内建浏览器可以直接开启的wap网页的。
1、开启微信。随便找到一个好友聊天。
2、在聊天内容里输入你想浏览的网页网址。如果想浏览百度,就输入百度网址。
3、这时候发现网址是蓝色的,点选网址,就可跳转到百度网站了。在这里可以随心所欲的搜寻内容了。
可以,不过你得先把地址复制传送给某个人。才能点选开启,微信没有导航栏
如何在浏览器开启微信网页你直接复制网页地址,然后在浏览器中开启就好了,怎么复制那,直接通过开启微信文章或者微信的h5页面,然后再通过分享之档案助手或者QQ我的电脑上,就可以看到了!
登录你的微信平台,点击“公众号设置”。2
点击“功能设置”,然后点击“设置”。
3
设置JS接口安全域名。这里填写的是一级域名,不带www和http。最多可以设置三个域名。设置完后点击确定。(多说一句,相比以前的分享没有任何域名限制,这里设置安全域名,目的是为了当发现此公众平台发现诱导分享行为时,可以根据此域名追溯到所有分享出去的链接,以及通过这些链接增加的粉丝。这样,微信就可以牢牢控制了你的微信平台,一旦发现违规,让分享链接失效,删除掉诱导行为增加的粉丝,是瞬间就可以完成的。因此,微信平台的开发者,一定要合理来使用分享功能,不要因小失大。等到你的微信平台被封,估计哭都来不及)
4
在开发者中心中获取你的AppID和AppSecret,接下来在获取令牌时,需要这两个信息。
5
获取令牌。在服务器端完成,代码如下:
function wx_get_token() {
$token = S('access_token')
if (!$token) {
$res = file_get_contents('https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.'你的AppID'.'&secret='.'你的AppSecret')
$res = json_decode($res, true)
$token = $res['access_token']
// 注意:这里需要将获取到的token缓存起来(或写到数据库中)
// 不能频繁的访问https://api.weixin.qq.com/cgi-bin/token,每日有次数限制
// 通过此接口返回的token的有效期目前为2小时。令牌失效后,JS-SDK也就不能用了。
// 因此,这里将token值缓存1小时,比2小时小。缓存失效后,再从接口获取新的token,这样
// 就可以避免token失效。
// S()是ThinkPhp的缓存函数,如果使用的是不ThinkPhp框架,可以使用你的缓存函数,或使用数据库来保存。
S('access_token', $token, 3600)
}
return $token
}
注意:返回的access_token长度至少要留够512字节。接口返回值:
{"access_token":"ACCESS_TOKEN","expires_in":7200}
{"access_token":"vdlThyTfyB0N5eMoi3n_aMFMKPuwkE0MgyGf_0h0fpzL8p_hsdUX8VGxz5oSXuq5dM69lxP9wBwN9Yzg-0kVHY33BykRC0YXZZZ-WdxEic4","expires_in":7200}
6
获取jsapi的ticket。jsapi_ticket是公众号用于调用微信JS接口的临时票据。正常情况下,jsapi_ticket的有效期为7200秒,通过access_token来获取。
function wx_get_jsapi_ticket(){
$ticket = ""
do{
$ticket = S('wx_ticket')
if (!empty($ticket)) {
break
}
$token = S('access_token')
if (empty($token)){
wx_get_token()
}
$token = S('access_token')
if (empty($token)) {
logErr("get access token error.")
break
}
$url2 = sprintf("https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=%s&type=jsapi",
$token)
$res = file_get_contents($url2)
$res = json_decode($res, true)
$ticket = $res['ticket']
// 注意:这里需要将获取到的ticket缓存起来(或写到数据库中)
// ticket和token一样,不能频繁的访问接口来获取,在每次获取后,我们把它保存起来。
S('wx_ticket', $ticket, 3600)
}while(0)
return $ticket
}
接口返回值:
{"errcode":0,"errmsg":"ok","ticket":"sM4AOVdWfPE4DxkXGEs8VMKv7FMCPm-I98-klC6SO3Q3AwzxqljYWtzTCxIH9hDOXZCo9cgfHI6kwbe_YWtOQg","expires_in":7200}
7
签名,将jsapi_ticket、noncestr、timestamp、分享的url按字母顺序连接起来,进行sha1签名。
noncestr是你设置的任意字符串。
timestamp为时间戳。
$timestamp = time()
$wxnonceStr = "任意字符串"
$wxticket = wx_get_jsapi_ticket()
$wxOri = sprintf("jsapi_ticket=%s&noncestr=%s×tamp=%s&url=%s",
$wxticket, $wxnonceStr, $timestamp,
'要分享的url(从http开始,如果有参数,包含参数)'
)
$wxSha1 = sha1($wxOri)
END
步骤2 添加JS代码
生成签名后,就可以使用js代码了。在你的html中,进行如下设置即可。
<script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script type="text/javascript">
// 微信配置
wx.config({
debug: false,
appId: "你的AppID",
timestamp: '上一步生成的时间戳',
nonceStr: '上一步中的字符串',
signature: '上一步生成的签名',
jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage'] // 功能列表,我们要使用JS-SDK的什么功能
})
// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在 页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready 函数中。
wx.ready(function(){
// 获取“分享到朋友圈”按钮点击状态及自定义分享内容接口
wx.onMenuShareTimeline({
title: '分享标题', // 分享标题
link:"分享的url,以http或https开头",
imgUrl: "分享图标的url,以http或https开头" // 分享图标
})
// 获取“分享给朋友”按钮点击状态及自定义分享内容接口
wx.onMenuShareAppMessage({
title: '分享标题', // 分享标题
desc: "分享描述", // 分享描述
link:"分享的url,以http或https开头",
imgUrl: "分享图标的url,以http或https开头", // 分享图标
type: 'link', // 分享类型,music、video或link,不填默认为link
})
})
</script>