Firefox не загружает плагин jQuery при вводе URL - PullRequest
0 голосов
/ 30 июля 2010

У меня очень раздражающая проблема в Firefox 3.6.8. У меня есть этот пример плагина:

    (function($){  

    $.fn.test_plugin = function(settings){  

        $(this).load(function(settings){
            alert('ok');
        });
    };
})(jQuery); 

И в нижней части HTML-страницы что-то вроде этого:

        $(function(){
        $("#image1").test_plugin();
    });

Таким образом, в основном это должно отображать предупреждающее сообщение после загрузки страниц, и это происходит, за исключением случаев, когда вы вручную вводите URL в Firefox. Если я обновлю страницу без проблем, но при перенаправлении или вводе URL-адреса вручную это не так. Я не получил никаких ошибок, и от firebug все в порядке. Это происходит только на FF, у меня нет проб на Safari, chrome, IE.

Есть идеи, почему это так?

спасибо

Ответы [ 3 ]

0 голосов
/ 30 июля 2010

Мне кажется, что вы, возможно, пытались использовать функцию загрузки jquery в качестве события выгрузки страницы, что неправильно. Функция загрузки предназначена для вызова Ajax, который, согласно заявлению calvinf, требует, чтобы среди других параметров был указан параметр URL.

Но прочитайте еще немного, и вы уже на пути к написанию плагинов jquery:)

0 голосов
/ 30 июля 2010

Хорошо, спасибо за ваши ответы, однако я, кажется, исправил это.

Я только что использовал

$(window).load(function(settings){

вместо

$(this).load(function(settings){

Устранена проблема, и она отлично работает в других браузерах.

0 голосов
/ 30 июля 2010

См. Запись jQuery API для загрузки .

.load (url, [data], [complete (responseText, textStatus, XMLHttpRequest)])

Первый аргумент для загрузки - это URL. За этим необязательно могут следовать данные и функция обратного вызова. Вы не включили URL в свой звонок для загрузки.

Похоже, вы пытаетесь написать свой первый плагин jQuery. Если это так, я бы рекомендовал прочитать Шаблон разработки плагинов .

Я построил Суть , основанную на этом, что вы также можете посмотреть.

...