0

何か大きなことを見逃しているかもしれませんが、何時間も努力してきました...

IE 8以下のユーザーにChrome Frameをインストールさせるために、提供されているGCF Install JSファイルを試しましたが、私は独自の実装を好みます.GCFInstall JSは、ボタンによって呼び出された場合でも、セッションごとに1回だけポップアップを開く2回目。私が見つけた唯一の解決策は、2回目に開いた場合に閉じることができません。

だからここに私が私のページに置いたコードがあります:

HTML:

<!--[if lt IE 9]><script type="text/javascript" src="/resources/js/getgcf.js"></script>
<div style="border:1px solid black; padding: 3px;"><img src="http://cdn.dustball.com/information.png" alt="info"> You appear to be using an older version of Internet Explorer. This website relies on technology not supported by Internet Explorer. To improve your experience (and fix layout errors):
<br><button id="gcfdl">Activate Google Chrome Frame</button><br>You won't notice anything different in the way you use the internet, except that most websites will look better.</div><![endif]-->

getgcf.js:

$("#gcfdl").click(function(){
    var wants_normal_installation = confirm("You will now be taken to google.com/chromeframe where Google Chrome Frame will be activated. Please wait about 10 seconds after clicking Accept and Install, and you will automatically be taken back to this page. Press OK for normal installation (recommended), or Cancel for single-user installation (use if you don't have administrator rights on your computer):");
    if(wants_normal_installation){
        window.location("http://www.google.com/chromeframe?redirect=true");
    }
    else{
        window.location("http://www.google.com/chromeframe?user=true&redirect=true");
    }
});

はい、とても簡単です。jQueryは通常、完全に機能します:(

IE には「ページ上のエラー」が表示されますが、それをクリックすると、メッセージに紛らわしいエラーが表示され、その意味がわかりません。

私はコードをChromeに入れましたが、別のコンソールメッセージが表示されました。頭がわかりません...

どんな助けでも大歓迎です。ありがとう。

4

2 に答える 2

2

コードをドキュメント準備完了イベントでラップします...

$(document).ready(function () {

    $("#gcfdl").click(function(){
        var wants_normal_installation = confirm("You will now be taken to google.com/chromeframe where Google Chrome Frame will be activated. Please wait about 10 seconds after clicking Accept and Install, and you will automatically be taken back to this page. Press OK for normal installation (recommended), or Cancel for single-user installation (use if you don't have administrator rights on your computer):");
        if(wants_normal_installation){
            window.location("http://www.google.com/chromeframe?redirect=true");
        }
        else{
            window.location("http://www.google.com/chromeframe?user=true&redirect=true");
        }
    });

});
于 2012-07-15T00:13:42.570 に答える
0

コードを変更しました。これが私の最終バージョンです。IE8 でテスト済みで動作するため、IE7 などで動作しない理由はありません。ユーザーがサイトを離れないように、ページを iframe に配置します。あなたのサイトでご自由にお使いください。(この前に、ページのどこかに jQuery があることを確認してください)

<!--[if lt IE 9]><script type="text/javascript" src="/resources/js/getgcf.js"></script>
<div style="border:1px solid black; padding: 3px;"><img src="http://cdn.dustball.com/information.png" alt="info"> You appear to be using an older version of Internet Explorer. This website relies on technology not supported by Internet Explorer. To improve your experience (and fix layout errors):
<br><button id="gcfdl">Activate Google Chrome Frame</button><span id="gcfdl2"></span><div id="gcfiframe"></div><br>You won't notice anything different in the way you use the internet, except that most websites will look better.</div><![endif]-->

これを /resources/js/getgcf.js として置きます:

$(document).ready(function(){
    $("#gcfdl").click(function(){
        var wants_normal_installation = confirm("Press OK for normal installation (recommended), or Cancel for single-user installation (use if you don't have administrator rights on your computer):");
        if(wants_normal_installation){
            $("#gcfdl2").html("&nbsp;<b>When you see that the installation is complete <a href=''>click here</a></b>");
            $("#gcfiframe").html("<iframe height=400 width='100%' src='http://www.google.com/chromeframe'></iframe>");
        }
        else{
            $("#gcfdl2").html("&nbsp;<b>When you see that the installation is complete <a href=''>click here</a></b>");
            $("#gcfiframe").html("<iframe height=400 width='100%' src='http://www.google.com/chromeframe?user=true'></iframe>");
        }
    });
});

最初のページをスキップして直接 EULA に進むには、に変更src='http://www.google.com/chromeframe'します。src='http://www.google.com/chromeframe/eula.html'

于 2012-07-15T00:55:21.567 に答える