在 iOS 下微信的浏览器里,修改 title 不生效 #3

Closed
WeiJieGitHub opened this Issue Jun 24, 2016 · 14 comments

Projects

None yet

7 participants

@WeiJieGitHub

document.title = 'something' 这种方式设置的 title 在 iOS 微信的浏览器里不生效,具体原因未知。

解决方式可以参考:

  1. https://segmentfault.com/q/1010000002926291
  2. https://segmentfault.com/q/1010000003892013
  3. https://www.zhihu.com/question/26228251
@miaolz123
Owner

还有这等怪事,待我下班回去测试哈!

@miaolz123 miaolz123 added a commit that closed this issue Jun 24, 2016
@miaolz123 fix #3 e7ca1cc
@miaolz123 miaolz123 closed this in e7ca1cc Jun 24, 2016
@WeiJieGitHub

这个问题依然存在,目测是 hack 时插入的 iframe 的 src 属性没设置导致的。我拿到代码改了一下,亲测有效。

    const ua = navigator.userAgent.toLowerCase();
    if (ua.indexOf('iphone') > -1 && ua.indexOf('micromessenger') > -1) {
      setTimeout(() => {
        document.title = '哈哈哈哈';
        const iframe = document.createElement('iframe');
        iframe.style.visibility = 'hidden';
        iframe.style.width = '1px';
        iframe.style.height = '1px';
        iframe.src = '/favicon.ico'; // 这里
        iframe.onload = () => {
          setTimeout(() => {
            document.body.removeChild(iframe);
          }, 0);
        };
        document.body.appendChild(iframe);
      }, 0);
@terranc
terranc commented Jun 26, 2016

试了下,好似必须产生一次有效请求才可以,about:blank也不行

@miaolz123
Owner

REOPEN by @MouCai @terranc

@miaolz123 miaolz123 reopened this Jun 27, 2016
@miaolz123 miaolz123 added a commit that closed this issue Jun 28, 2016
@miaolz123 fix #3 again bac706b
@miaolz123 miaolz123 closed this in bac706b Jun 28, 2016
@965283058

使用iframe在IOS系统下的UIwebview内核下的确可以更新title,但是如果在WK webview内核下不还是不能更新title,微信在2017年3月份会前面升级到WK内核,所以这个解决方案又失效了!PS:IOS端手动切换内核的方法是:点击添加朋友,输入‘:switchweb’,然后会提示切换到哪种内核!

@terranc
terranc commented Jan 16, 2017

@965283058 那怎么破。。。

@soggotheslitherer

@965283058 在新的WK内核中有好的解决方案吗?

@miaolz123
Owner

@MouCai @terranc @965283058 @soggotheslitherer 因为我手边没有测试机型,所以你们有好的解决方案欢迎在此讨论或者直接PR ~

@wolfsilver

@965283058
同求解决方案

@soggotheslitherer

我给微信发邮件了,他们答复是“iOS在计划支持document.title修改页面标题,预计在今年3月初发布,到时可以解决这个问题。”

@limichange

测了一下,iframe hack对最新的内核无效,目前只能等了。

@965283058

只能等微信更新了

@wolfsilver
wolfsilver commented Feb 15, 2017 edited
window.WeixinJSBridge.invoke('setPageTitle', {
        'title':"Title"
    }, function(res){

}) 

听说这个可以用

@limichange

@wolfsilver 我试了一下,好像没用。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment