2

下面的代码是一个更大的函数的一部分,该函数确定某物是否在线并将代码返回到页面并显示“远程支持”按钮。这适用于所有浏览器,包括 IE 7,8。这在 IE 9 中不起作用。整个按钮应该可以点击,但在 IE 9 上,只有 110px 按钮的顶部是可点击的,基本上是 2px 左右。

有没有办法让它在 IE9 中工作?

if(strpos($response, "TRUE") > -1){
    echo "<a
href='javascript:void(0)'
onClick=\"window.open('".$instantChat."','_blank','toolbar=no, status=no, menubar=no,
titlebar=no, location=no,scrollbars=no, resizable=no, height=570, width=400'); return false;\" 
    class='instantChat'
>Remote Support</a>" ;
}else{
    echo "";
}

编辑 1

我想稍微清理一下代码,并尝试使用该button元素而不是锚点,但它在 Chrome 内部搞砸了并且不起作用。

我还可以补充一点,这个按钮旋转了 270 度,文本是横向的。这是有意的。

这是简化上述内容但不能解决问题的新代码。

if(strpos($response, "TRUE") > -1){
    echo "<a href='javascript:void(0)' onClick='openChat();' class='instantChat'>Remote Support</a>" ;
}else{
    echo "";
}
4

2 回答 2

1

你可以试试

<a style="cursor:pointer" onclick='openChat();' class='instantChat'>Remote Support</a>

每个浏览器处理事情的方式都不同。最好的方法是完全取消 onclick 并为其定义一个 jquery 处理程序。就像是

$('.instantChat').click(function(){
    // open chat code here
    return false;
});
于 2012-05-11T18:48:46.297 回答
0

我的第一个想法是你不想要一个链接,你想要一个按钮。那么为什么不使用按钮元素呢?然后你不需要担心 javascript:void 位。

我也会完全放弃 onclick 属性。我怀疑它的大写是你出错的地方,你可能会解决它。

你最好添加一个 data-action='openChat' 属性。然后在其他地方添加一个处理程序来处理元素点击和: 1. 检查点击的元素是否是一个按钮。2. 检查它是否有一个 data-action 属性 3. 如果它有一个 data-action 检查它是否是 openChat。4. 如果是 openChat,它会打开一个窗口。

标准将模型与视图分离。

于 2012-05-10T04:00:49.383 回答