首页 > 微信 > 详细

微信开发的黑魔法

时间:2015-03-26 17:30:30      阅读:1018      评论:0      收藏:0      [点我收藏+]

1. 内置了 zepto.js (我明天再测试下具体是否为 zepto.js,$ 和 相应的 api 是能用的)
---------
微信4.5以及之前的版本才是如此,这个版本基本销声匿迹了,不用关注了。

2. target="_blank" 不会打开新窗口
---------
任何一个app的webview都没有这个功能吧?

3. ifame 问题待测试
---------
这又什么问题?

4. video 设置 z-index 也无法覆盖问题待测试
---------
和微信无关,如果你发现z-index在微信中不生效,同样的代码在你同样手机的safari上应该也是不生效的。

5. title 修改不生效问题待测试
---------
这个的确,但是有黑魔法可以修改,不知道最新版本是否还可以。请自行测试

var $body = $(‘body‘)
document.title = title// hack在微信等webview中无法修改document.title的情况
var $iframe = $(‘<iframe src="/favicon.ico"></iframe>‘).on(‘load‘, function() {
  setTimeout(function() {
    $iframe.off(‘load‘).remove()
  }, 0)
}).appendTo($body)



IOS 6、7、8 ,安卓 4.x 等,系统版本不同,调用的 浏览器内核 分别是什么情况?
---------
和系统相关,微信并没有设计浏览器内核。


看到一条消息: 安卓4.4以下对sdk只提供webview,之后有可选的chromeview。iOS 似乎8之前只有uiwebkit,之后有Safari 内核。 是这样吗?
---------
微信6.1版本以后,会自带QQ浏览器的X5内核,即使你没有安装QQ浏览器。

【以上转自知乎http://www.zhihu.com/question/27849091?sort=created&page=1】

我在开发的过程中遇到了需要修改微信title的问题。直接使用document.title = "title" 是不能够对微信的title进行修改的。在网上查资料发现了,一段黑魔法。试了试,果真好使。但是具体的实现原理还不清楚。

var $body = $(‘body‘)
document.title = ‘title’
// hack在微信等webview中无法修改document.title的情况
var $iframe = $(‘<iframe src="/favicon.ico"></iframe>‘).on(‘load‘, function() {
  setTimeout(function() {
    $iframe.off(‘load‘).remove()
  }, 0)
}).appendTo($body)

开发中还遇到了一个坑就是,pm想要在微信的分享页面中,有个下载的button。但是,这个button在ios中是无法跳转至appstore的。安卓可以。

我发现的解决办法就是,

1.微信直接扫一扫,可以实现下载button的功能。

2.将下载链接转换成二维码,添加到分享页面中,长按识别二维码,就能跳转到appstore。

 

微信开发的黑魔法

原文:http://www.cnblogs.com/grainy/p/4369142.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!