Google Fastbutton不支持移动Safari吗?

时间:2015-01-30 09:50:10

标签: javascript css javascript-events touch mobile-safari

我试图为具有两行布局的表格实施Google的快捷按钮here

快捷按钮绑定在表格行上:

var buttons = document.getElementsByClassName('evtFastbutton');
for (var i = 0; i < buttons.length; i++) {
    var fastbutton = new FastButton(buttons[i], function () {
        var urlstr = 'xyz';
        window.location.href = (urlstr);
    });
}

如果单击其中一行,则应更改上一行或下一行及其自身的背景颜色并打开新页面。

在Android或PC上使用Chrome或Firefox时效果很好。

在iPhone上的Safari中,它不会更改背景颜色,而是打开新页面。

我不确定什么不起作用,背景颜色或快按钮的改变。

是否有人遇到类似的问题或可能的解决方案?

你可以在这个小提琴中找到完整的代码: http://jsfiddle.net/tofeld/9Lu54yrr/1/

谢谢!

PS:我已经尝试过在这个问题上建议的解决方案:Google FastButton clicks twice on iOS

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的方法。 如上所述here,渲染未在javascript更改页面执行之前完成。

因此,如果有人遇到类似问题,请尝试:

window.setTimeout(function(){window.location.href=('new/location');},0);

而不是

window.location.href=('new/location');