2

次のコードは、何かがオンラインかどうかを判断し、コードをページに返し、「リモート サポート」ボタンを表示する、より大きな関数の一部です。これは、IE 7、8 を含むすべてのブラウザーで正常に機能します。これは IE 9 では機能しません。ボタン全体がクリックできるはずですが、IE 9 では 110 ピクセルのボタンの上部のみ、基本的に約 2 ピクセルがクリック可能です。

これを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.データアクション属性があるかどうかを確認します。3。データアクションがある場合は、openChatであるかどうかを確認します。4. openChatの場合、ウィンドウが開きます。

ビューのものからの標準的な分離モデル。

于 2012-05-10T04:00:49.383 に答える