mirror of
				https://github.com/searxng/searxng.git
				synced 2025-11-04 03:27:06 -05:00 
			
		
		
		
	This makes it easier to separately handle search and index requests from a web server or from a reverse proxy. If a request to index contains a query, a permanent redirect HTTP response is returned. This should give some level of backwards compatibility for users that have set a searx instance in their browser's search bar.
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
function hasScrollbar() {
 | 
						|
    var root = document.compatMode=='BackCompat'? document.body : document.documentElement;
 | 
						|
    return root.scrollHeight>root.clientHeight;
 | 
						|
}
 | 
						|
 | 
						|
function loadNextPage() {
 | 
						|
    var formData = $('#pagination form:last').serialize();
 | 
						|
    if (formData) {
 | 
						|
        $('#pagination').html('<div class="loading-spinner"></div>');
 | 
						|
        $.ajax({
 | 
						|
            type: "POST",
 | 
						|
            url: $('#search_form').prop('action'),
 | 
						|
            data: formData,
 | 
						|
            dataType: 'html',
 | 
						|
            success: function(data) {
 | 
						|
                var body = $(data);
 | 
						|
                $('#pagination').remove();
 | 
						|
                $('#main_results').append('<hr/>');
 | 
						|
                $('#main_results').append(body.find('.result'));
 | 
						|
                $('#main_results').append(body.find('#pagination'));
 | 
						|
                if(!hasScrollbar()) {
 | 
						|
                    loadNextPage();
 | 
						|
                }
 | 
						|
            }
 | 
						|
        });
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
$(document).ready(function() {
 | 
						|
    var win = $(window);
 | 
						|
    if(!hasScrollbar()) {
 | 
						|
        loadNextPage();
 | 
						|
    }
 | 
						|
    win.scroll(function() {
 | 
						|
        $("#pagination button").css("visibility", "hidden");
 | 
						|
        if ($(document).height() - win.height() - win.scrollTop() < 150) {
 | 
						|
            loadNextPage();
 | 
						|
        }
 | 
						|
    });
 | 
						|
});
 |