11

この質問からのちょっとしたフォロー: グーグルのホストされたjQueryを使用する最良の方法、しかしグーグルの私のホストされたライブラリにフォールバックは失敗する

したがって、JQuery CDNがダウンしているかどうかを検出し、これを許可できます。

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
        <script type="text/javascript">
            if (typeof jQuery == 'undefined') {
                document.write(unescape("%3Cscript src='/Script/jquery-1.7.2.min.js' type='text/javascript'%3E%3C/script%3E"));
            }
</script>

次のようにロードされたときに、jquery.validateに対して同じことを行うにはどうすればよいですか?

<script type="text/javascript" language="javascript" src="http://ajax.microsoft.com/ajax/jQuery.Validate/1.6/jQuery.Validate.min.js"></script>
4

2 に答える 2

10

代わりにこれを使用してください:

if(typeof $().validate == 'undefined')
{
    /// same code as before except pointing at your local jQuery.validate path
}

デモ-検証が存在するかどうかを確認します

コンソールに存在する場合はtrueを返し、存在しない場合はfalseを返します。
DEMOのスクリプト参照を削除して、出力としてfalseを取得します。

完全なコードは次のようになります。

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jQuery.Validate/1.6/jQuery.Validate.min.js"></script>

<script type="text/javascript">
    if (typeof jQuery == 'undefined') {
        document.write(unescape("%3Cscript src='/Script/jquery-1.7.2.min.js' type='text/javascript'%3E%3C/script%3E"));
    };

    if (typeof $().validate == 'undefined') {
        document.write(unescape("%3Cscript src='/Script/jquery.Validate-1.6.min.js' type='text/javascript'%3E%3C/script%3E"));
    }
</script>
于 2012-09-24T12:22:48.060 に答える
3

このような何かがトリックを行うことができます

<script type="text/javascript" language="javascript" src="http://ajax.microsoft.com/ajax/jQuery.Validate/1.6/jQuery.Validate.min.js"></script>
<script type="text/javascript">
    if (typeof jQuery().validate == 'undefined') {
        document.write(unescape("%3Cscript src='/js/jquery.validate.min.js' type='text/javascript'%3E%3C/script%3E"));
    }
</script> 
于 2012-09-24T12:19:53.010 に答える