0

以下のスクリプトは、私のコンピューターの 1 つで正常に動作しますが、別のコンピューターで実行するとuncaught referenceerror $ is not defined. 別の同様のページでも同じエラーです。また、 ajax.google... ソースのリソースを読み込めないと言っています。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>

<script type="text/javascript">
    //add dynamic fields to add more addresses
    $(document).ready(function() {
        $('#btnAdd').click(function() {
            var $address = $('#address');
            var num = $('.clonedAddress').length;
            var newNum = new Number(num + 1);
            var newElem = $address.clone().attr('id', 'address' + 
newNum).addClass('clonedAddress');

            //set all div id's and the input id's
            newElem.children('div').each (function (i) {
                this.id = 'input' + (newNum*11 + i);
            });
            newElem.find('input').each (function () {
                this.id = this.id + newNum;
                this.name = this.name + newNum;
            });

            if (num > 0) {
                $('.clonedAddress:last').after(newElem);
            } else {
                $address.after(newElem);
            }


            $('#btnDel').removeAttr('disabled');

            if (newNum == 2) $('#btnAdd').attr('disabled', 'disabled');//number of 
field sets that can be added
        });
        $('#btnDel').click(function() {
            $('.clonedAddress:last').remove();
            $('#btnAdd').removeAttr('disabled');
            if ($('.clonedAddress').length == 0) {
                $('#btnDel').attr('disabled', 'disabled');
            }
        });
        $('#btnDel').attr('disabled', 'disabled');
    });
</script>
4

2 に答える 2

1

2 番目のエラーが最初のエラーを引き起こします。ロードできないと未定義になりますjQuery$また、CDN からロードしているため、a) ネットワークがダウンしているか、b) Google の CDN がダウンしているか、そのパスを介してホストされていないかのいずれかが考えられます。あなたはそれが別のコンピューターで動作すると言っているので、私の傾向は、a) ネットワークがダウンしているということです。

Rocket がコメントで説明したように、ネットワークが完全にダウンしているわけではなく、単に google CDN にアクセスできない可能性があります。ファイアウォールまたはその他の何かがこの問題を引き起こしている可能性があります。


ネットワークがダウンしているコンピューターがある場合は、圧縮された jQuery ソースをダウンロードし、そのファイルをローカライズすることをお勧めします。これを行う場合は、可能であれば 1.3 よりも高いものを使用することを強くお勧めします。

于 2012-05-07T16:17:03.707 に答える
0

@Kireanの答えは正しいですが、HTML5-Boilerplateがこのシナリオをカバーするために使用しているものを共有したいと思いました(コメントには多すぎます)

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="/path/to/local/jquery-1.6.2.min.js"><\/script>')</script>

GoogleのCDNからjQueryを読み込もうとしますが、失敗した場合(window.jQuery未定義)は、フォールバックとして代わりにローカルバージョンを読み込みます。

于 2012-05-07T16:41:11.183 に答える