1

ウェブサイトで nicescroll jquery プラグインを使用しています。また、検索ページで Google のカスタム検索も使用しています。カスタム検索には結果のみのインターフェイスがあり、検索結果が<div>.

nicescroll はこのように動作し、ページにスクロールバーが必要な場合は表示されます。ページにスクロールバーが必要ない場合は、スクロールバーは表示されません。

マスターページでスクリプト タグを使用して jquery および nicescrolll ライブラリを呼び出し、検索ページでスクリプト タグを使用して Google のカスタム検索スクリプトをロードしています。

問題は、IE では (Google のカスタム検索は結果を読み込むのに時間がかかるため) スクロールバーが表示されないことです (検索の結果が得られないため、最初はページにスクロールバーが必要ないためだと思います)。 'まだ表示されていません!しかし、結果が表示された後でも、IE にはまだスクロール バーがありません)。IE ウィンドウのサイズを変更して元のサイズに戻すと、スクロール バーが表示されることに気付きました。コード:

//these scripts load in my master page(since I need the scrollbar for my other pages)
<script type="text/javascript" src="/Scripts/jquery-1.7.1.js"></script>
<script type="text/javascript" src="/Scripts/jquery.nicescroll.js"></script>
<script type="text/javascript">
    $(window).load(function () {
        $("html").niceScroll();
        } 
    );
</script> 

//this script loads in my search.aspx page where I want the search results to appear
<script type="text/javascript">
    $(document).ready(function () {
        (function () {
            var cx = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
            var gcse = document.createElement('script');
            gcse.type = 'text/javascript';
            gcse.async = true;
            gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
                '//www.google.com/cse/cse.js?cx=' + cx;
            var s = document.getElementsByTagName('script')[0];
            s.parentNode.insertBefore(gcse, s);
        })();
    });

//and here's how I am showing the results
<div id="searchWrapper">
    <gcse:searchresults-only></gcse:searchresults-only>
</div>

ご覧のとおり、nicescroll スクリプトは後でwindow.load発生するため、イベントに配置しようとしましたがdocument.ready、それでも問題は存在します!!

ps:私の検索ページは chrome と firefox で正常に動作しています。この問題は IE でのみ発生します。

私の問題についてのアイデアはありますか?

4

0 に答える 0