我有一个用.js(没有jQuery)编写的webapp,它根据屏幕上当前可见的内容更改文档标题。这在桌面和移动浏览器上运行良好,除了它不在iOS下的微信浏览器中(虽然尚未在Android上的WeChat中测试过)。
基本文件标题更改代码:
MyNamespace.setDocTitle = function(v)
{
document.title = v;
}
iOS Safari,Android Chrome和桌面浏览器当然都会反映出标题的变化。但是,当这个webapp加载到微信中时,它只显示在html标题中设置的标题。
我已经尝试过根本不在标题中设置标签,但在这种情况下,微信根本没有标题。
如果有人有使用微信的经验,并且可以告诉我是否有办法让它识别动态更改的文档标题(不会将整个webapp分成单独的html文件,这是真正的最后选择,如果没有其他工作......),我很感激!
在检查导航信息时,在iOS上它使用Safari。但是,它与同一个独立浏览器没有100%相同的行为......
提前致谢!
P.S。
我在Android上的WeChat上测试了它并且它有效。因此问题仅出现在iOS上的微信上。
我怀疑这是iOS的微信中的一个错误,但如果有人可能有一些解决方法,那就太棒了!
答案 0 :(得分:1)
对于后代:
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);
这将触发文档重新评估,并显示新标题。
答案 1 :(得分:0)
您应该使用微信正式发布的JS-SDK内容。
您在想要在微信应用中打开的页面加载js文件,并使用您的appid和签名进行配置,然后您可以在您的js中使用API,如下所示:
wx.onMenuShareTimeline({
title: '', // Sharing title
link: '', // Sharing link
imgUrl: '', // Sharing image URL
success: function () {
// Callback function executed after a user confirms sharing
},
cancel: function () {
// Callback function executed after a user cancels sharing
}
});
我们已经使用此策略动态自定义我们的Web视图共享操作,因为此SDK已发布,效果非常好。
答案 2 :(得分:-1)
$(document).prop('title', 'test');
或
document.title = 'test';