也就是说,Javascript可以在安卓系统.上高效运行了。不像其他JS运行时(包括JV8 Jav8), J2V8采用基于原始的方法,导致更少的垃圾。下面的脚本生..
...
android安卓手机微信浏览器偶尔也有这样的问题,经过多次调试,发现是微信浏览器缓存了渲染页面,没有重新渲染页面,导致window.onload中JS无法执行。经过以上分析判断,给出的解决方案就是,如果使用了缓存,自动重载页面。以下是JS代码解决方案:
window.onpageshow = function(event) {
if (event.persisted) {
window.location.reload()
}
}
或者下方代码:
var isPageHide = false
window.addEventListener('pageshow', function () {
if (isPageHide) {
window.location.reload()
}
})
window.addEventListener('pagehide', function () {
isPageHide = true
})
html头部处理缓存信息:
扩展说明:
pageshow:
当一条会话历史记录被执行的时候将会触发页面显示(pageshow)事件。(这包括了后退/前进按钮操作,同时也会在onload 事件触发后初始化页面时触发)
<button onclick="callJsLogout()">
退出登录
</button>
<script type="text/javascript">
function callJsLogout()
{
var u = navigator.userAgent
if (u.indexOf('Android') >-1 || u.indexOf('Linux') >-1) {
// 安卓手机处理
// window.JsToNative.User.login("js调用了android中的login方法")
callAndroid()
} else if (u.indexOf('iPhone') >-1) {
// 苹果手机处理
callJsIos()
} else {
}
}
function callAndroid(){
Web.logout()//调用安卓端函数
window.location.href="$url"//跳转地址
}
function callJsIos() {
window.webkit.messageHandlers.logout.postMessage({body:''})//调用IOS端函数
window.location.href="$url"//跳转地址
}
</script>