jQuery不会在firefox中加载

时间:2017-04-16 22:16:04

标签: javascript jquery loaded

我有一个简单的HTML文件,其中包含了jQuery。在Safari中它可以工作,但在Firefox中它不能加载。当我使用$时,我在firefox中收到以下错误消息:

ReferenceError:$未定义

// jQuery Shortcuts
        const search_bar = $('#search_bar');
        const search_button = $('#search_button');
        const search_query = $('[name=search_query]')[0];
        const links = $('#links');
        const random = $('#random_button');


    // Animations
        // activate search on click
            search_button.click(show_and_hide);

        // reset screen on random click
            random.click(hide_and_show);


        // activate results window on keypress
            search_bar.keypress(function(){
                random.slideUp(1000, 'linear');
                links.slideDown(1000, 'linear');
            });


        // if search bar is empty (from deleting) revert back to search icon
            search_bar.keyup(function(){
                if(search_bar.val().length === 0){
                    links.slideUp(1000, 'linear');
                    hide_and_show();
                }
            });

        // function to show the random button and search bar while hiding search icon
            function show_and_hide(){
                search_button.fadeOut(1000, 'linear');
                random.slideDown(1000, 'linear');
                search_bar.slideDown(1000, 'linear');
                search_bar.select();
            }


        // hide search bar and display search button
            function hide_and_show(){
                search_bar.slideUp(1000, 'linear');
                random.slideUp(1000, 'linear');
                search_button.slideDown(1000, 'linear');
            }

    // Link generator function for results window
    function link_generator(data){

        var i = 0,
        title = data[1],
        description = data[2],
        link = data[3];

        for(i; i < data[3].length; i++){
            var  list_link = '<a href="'+link[i]+'">'+title[i]+'</a><br/>';
                list_description = list_link+description[i]+'<hr>';
            links.append(list_description);
        }
    }


    // Wiki Auto-complete

    search_bar.autocomplete({
        source: function(query, result) {
            $.ajax({
                url: "https://en.wikipedia.org/w/api.php",
                dataType: "jsonp",
                data: {
                    'action': "opensearch",
                    'format': "json",
                    'search': query.term
                },

                success: function (data) {
                    links.empty();
                    link_generator(data);
                }

            });
        }

    });

3 个答案:

答案 0 :(得分:1)

很可能完整性属性值与脚本的哈希值不匹配。 如果您收到任何错误,请查看控制台窗口吗?

我已经找到了根本原因。基于caniuse网站,safari NOT 实现此功能,因此您没有在safari上看到问题。 IE和Edge的情况相同。请看下面: enter image description here

答案 1 :(得分:0)

我尝试了这样的代码并且有效

<!doctype html>

    <html>
    <head>

    </head>
    <body>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js" ></script>
    <script>


        if (window.jQuery) {
            alert("loaded");
        } else {
            alert("not loaded");
        }
    </script>
    </body>
    </html>

答案 2 :(得分:0)

我今天遇到了同样的问题,多功能无法在Firefox和Safari中运行,我查了一下,发现其中一个不在声明之外:

    jQuery(document).ready(function(){
      //your code
    });

我把功能放回去了,一切都运转良好。因此,请尝试在脚本中包含(document).ready函数。 似乎Chrome在识别和执行jQuery方面是“最聪明的”。