如何正确地将此代码置于noconflict模式

时间:2015-03-30 20:50:13

标签: javascript jquery

我在noconflict模式下使用原型js和jquery。除了一个代码之外,它适用于我的所有代码。

我已经完成了

<script type="text/javascript"  src="js/jquery/jquery-2.1.3.min.js"></script>

<script>

$.noConflict();

///////////////////////////////////////////////////////////////////////////////
jQuery( document ).ready(function( $ ) {
    // Code that uses jQuery's $ can follow here.

    /////////////////////////////////////////////////////////////////////////////// 
    //Here is the wall post code   
    var form = { 
        post : {
            beforeSubmit:  showRequest,
            success:       showResponse,
            resetForm: true
        }
    }; 

    $.fn.showLoader = function(){
        $(this).removeClass('hide');
    }
    $.fn.hideLoader = function(){
        $(this).addClass('hide');
    }

    //The code continues
    $(document).ready(function(){
        $('.floader').showLoader();
        $('.facebook-share-box').ajaxForm(form.post); 
        $.get('profile_wall.php',function(data){
            $('.wall').html(data);
            $('.floader').hideLoader();
        });
        $("#geocomplete").geocomplete({
            map: ".map_canvas",
            details: "form",
            types: ["geocode", "establishment"]
        }); 
        $('body').delegate('#shareType','click', function(e) { 
            e.preventDefault();
            var positionArray = {};
            positionArray['status'] = 0;
            positionArray['photos'] = 80;
            positionArray['videos'] = 160;
            positionArray['location'] = 231;
            $('.video').hideLoader('hide');
            $('.image').hideLoader('hide');
            $('.place').hideLoader('hide');
            $('.shareType').val($(this).attr('class'));
            $('.arrow').css("left", positionArray[$(this).attr('class')]);
            if($(this).attr('class') == 'videos') {
                $('.video').showLoader('hide');
                $('.image').hideLoader('hide');
                $('.place').hideLoader('hide');
            }
            if($(this).attr('class') == 'photos') {
                $('.video').hideLoader('hide');
                $('.image').showLoader('hide');
                $('.place').hideLoader('hide');
            }
            if($(this).attr('class') == 'location') {
                $('.video').hideLoader('hide');
                $('.image').hideLoader('hide');
                $('.place').showLoader('hide');
            }
            return false;
        });
        $(window).scroll(function(){
            if  ($(window).scrollTop() == $(document).height() - $(window).height()){
                loadData();
            }
        });      
    });

    function showRequest(formData, jqForm, options) { 
        type = $('.shareType').val();

        for (var i=0; i < formData.length; i++) {
            /*
              if (!formData[i].value && formData[i].name == 'message') { 
              alert('Message could not be empty'); 
              return false; 
              }  
            */

            if(type == 'photos') {
                var fileName = document.getElementById("image").value
                if (fileName == "") {
                    alert("Browse to upload a valid File with png/jpg/gif extension");
                    return false;
                }
                else if (fileName.split(".")[1].toUpperCase() == "PNG") {
                }
                else if (fileName.split(".")[1].toUpperCase() == "JPG") {
                }
                else if (fileName.split(".")[1].toUpperCase() == "JPEG") {
                }
                else if (fileName.split(".")[1].toUpperCase() == "GIF") {
                }
                else {
                    alert("File with " + fileName.split(".")[1] + " is invalid. Upload a validfile with png/jpg/gif extensions");
                    return false;
                }
            }
            if(type == 'videos') {
                if (!formData[i].value && formData[i].name == 'videoUrl') { 
                    alert('Video Url could not be empty'); 
                    return false; 
                }
                video = validateVideoUrl();
                if(video == false){
                    alert('Not a valid youtube/vimeo video URL'); 
                    return false;
                }
            }
            if(type == 'location') {
                if (!formData[i].value && formData[i].name == 'location') { 
                    alert('Place could not be empty'); 
                    return false; 
                }
                if((!formData[i].value && formData[i].name == 'lat') || (!formData[i].value && formData[i].name == 'lng')){
                    alert('Not a valid place'); 
                    return false;
                }
            }
        }
        btn = $('#btn-share');
        btn.button('loading');  
    } 

    //The response is shown here
    function showResponse(responseText, statusText, xhr, $form)  { 
        $('#wall-append').prepend(responseText);
        btn.button('reset');
    } 


    //This enable to validate url video
    function validateVideoUrl(){
        var url = $('#videoUrl').val();
        var regYoutube = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*/;
        var regVimeo = /^.*(vimeo\.com\/)((channels\/[A-z]+\/)|(groups\/[A-z]+\/videos\/))?([0-9]+)/;
        if(regYoutube.test(url) || regVimeo.test(url)) {
            return true;
        }else{
            return false;
        }
    }
    function loadData() 
    { 
        $('div.postloader').html('<img src="img/loader.gif">');
        $.post("profile_get_data.php?lastID=" + $(".post-list:last").attr("id"),     
               function(data){
                   if (data != "") {
                       $(".post-list:last").after(data);            
                   }
                   $('div.postloader').empty();
               });
    }; 

    ///////////////////////////////////////////////////////////////////////////////
});

</script>

但它仍然没有用。我不知道为什么它给了我无限的负荷,然后它给了我

错误:访问属性'toString'的权限被拒绝

请问如何将jquery置于noconflict模式中?

0 个答案:

没有答案