Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在JS中动态更改文档标题,以便微信浏览器检测到_Javascript_Html_Dom_Title_Wechat - Fatal编程技术网

Javascript 如何在JS中动态更改文档标题,以便微信浏览器检测到

Javascript 如何在JS中动态更改文档标题,以便微信浏览器检测到,javascript,html,dom,title,wechat,Javascript,Html,Dom,Title,Wechat,我有一个用.js编写的webapp(没有jQuery),它可以根据屏幕上当前可见的内容更改文档标题。这在桌面和移动浏览器上都非常有效,只是在iOS下的微信浏览器中没有(不过还没有在Android上的微信上测试过) 基本文件标题更改代码: MyNamespace.setDocTitle = function(v) { document.title = v; } 当然,iOS Safari、Android Chrome和桌面浏览器都将反映标题的变化。然而,当这个webapp在微信中加载时,

我有一个用.js编写的webapp(没有jQuery),它可以根据屏幕上当前可见的内容更改文档标题。这在桌面和移动浏览器上都非常有效,只是在iOS下的微信浏览器中没有(不过还没有在Android上的微信上测试过)

基本文件标题更改代码:

MyNamespace.setDocTitle = function(v)
{
    document.title = v;
}
当然,iOS Safari、Android Chrome和桌面浏览器都将反映标题的变化。然而,当这个webapp在微信中加载时,它只显示html标题中设置的标题

我试着根本不在标题中设置标签,但在这种情况下,微信根本不显示标题

如果有人有微信方面的经验,可以告诉我是否有办法使其能够识别动态更改的文档标题(而不将整个webapp拆分为单独的html文件,如果没有其他方法,这是最后的选择…),我将不胜感激

检查导航器信息时,在iOS上使用Safari。然而,它并没有和同一个独立浏览器100%相同的行为

提前谢谢

p.S.

我已经在Android上的微信上测试过了,效果不错。所以问题只在iOS上的微信上出现

我怀疑这是微信iOS版中的一个漏洞,但如果有人能找到解决办法,我很高兴知道

$(document).prop('title', 'test');

你应该使用微信官方发布的这个东西

将js文件加载到微信app中要打开的页面上,并使用appid和签名进行配置,然后在js中使用API,如下所示:

wx.onMenuShareTimeline({
标题:“”,//共享标题
链接:“”,//共享链接
imgUrl:“”,//共享图像URL
成功:函数(){
//用户确认共享后执行的回调函数
},
取消:函数(){
//用户取消共享后执行的回调函数
}
});


自此SDK发布以来,我们一直使用此策略动态定制我们的WebView共享操作,效果非常好。

对于未来几代人:

window.title = '...';
// ...
var iframe = document.createElement('iframe');
iframe.style.display = "none";
// load anything small from your domain
iframe.setAttribute("src", "//example.com/favicon.ico");
var _l = function() {
    window.setTimeout(function() {
        iframe.removeEventListener('load', _l);
        document.body.removeChild(iframe);
    });
};
iframe.addEventListener('load', _l);
document.body.appendChild(iframe);

这将触发文档重新评估,并会出现一个新标题。

问题明确表示“无Jquery”。@Sebin Simon,感谢您的快速回答,但我已经明确表示我使用document.title=something,而且它在iOS上的微信中不起作用,我正在寻找一种解决方案,诱使微信更新文档标题。这并不是我问题的答案:-)我完全了解微信JavaScript API-您上面描述的是设置共享标题。与我上面的问题无关。。。我正在动态更改文档标题,所以当用户在同一个webapp中看到不同的内容时,标题会发生变化。为了澄清这一点:文档标题显示在微信顶部选项卡的中心。此标题最初是从…加载的。。。。但是,可以在所有浏览器中使用javascript动态更改标题标记。但不幸的是,如果javascript发生变化,iOS上的微信不会进行更新。我可以确认我已经在安卓微信上测试过它,并且它在那里工作。
window.title = '...';
// ...
var iframe = document.createElement('iframe');
iframe.style.display = "none";
// load anything small from your domain
iframe.setAttribute("src", "//example.com/favicon.ico");
var _l = function() {
    window.setTimeout(function() {
        iframe.removeEventListener('load', _l);
        document.body.removeChild(iframe);
    });
};
iframe.addEventListener('load', _l);
document.body.appendChild(iframe);