Пользовательские события в jQuery?

Предупреждение: [fункция] : не удалось открыть поток: [причина]

Это происходит, когда вы обычно вызываете файл include , require или fopen, и PHP не смог найти файл или не имел достаточного разрешения на загрузку файла.

Это может произойти по разным причинам:

  • неправильный путь к файлу
  • путь к файлу относительный
  • include path is wrong
  • разрешения слишком ограничительные
  • SELinux в силе
  • и многие другие ...

Одна из распространенных ошибок заключается в том, чтобы не использовать абсолютный путь. Это можно легко решить, используя полный путь или магические константы , такие как __DIR__ или dirname(__FILE__):

include __DIR__ . '/inc/globals.inc.php';

или:

require dirname(__FILE__) . '/inc/globals.inc.php';

Обеспечение правильного пути используется одним шагом в устранении этих проблем, это также может быть связано с несуществующими файлами, правами файловой системы, предотвращающими доступ или открытыми ограничениями на основе самого PHP.

Лучший способ для быстрого решения этой проблемы необходимо выполнить контрольный список устранения неполадок ниже.

Вопросы, относящиеся:

Связанные ошибки:

174
задан Ufuk Hacıoğulları 14 December 2011 в 15:46
поделиться

2 ответа

Смотрите на это:

(переизданный от страницы блога с истекшим сроком http://jamiethompson.co.uk/web/2008/06/17/publish-subscribe-with-jquery/ на основе заархивированной версии в http://web.archive.org/web/20130120010146/http://jamiethompson.co.uk/web/2008/06/17/publish-subscribe-with-jquery/ )

<час>

Публикуют / Подписываются С jQuery

17-го июня 2008

В целях записи UI jQuery, интегрированного с офлайновой функциональностью Google Gears i’ve играющий с некоторым кодом для опроса относительно состояния сетевого подключения с помощью jQuery.

Объект Определения наличия сети

основная предпосылка очень проста. Мы создаем экземпляр объекта определения наличия сети, который опросит URL равномерно. Если эти Запросы HTTP перестали работать, мы можем предположить, что сетевое соединение было потеряно, или сервер просто недостижим в текущее время.

$.networkDetection = function(url,interval){
    var url = url;
    var interval = interval;
    online = false;
    this.StartPolling = function(){
        this.StopPolling();
        this.timer = setInterval(poll, interval);
    };
    this.StopPolling = function(){
        clearInterval(this.timer);
    };
    this.setPollInterval= function(i) {
        interval = i;
    };
    this.getOnlineStatus = function(){
        return online;
    };
    function poll() {
        $.ajax({
            type: "POST",
            url: url,
            dataType: "text",
            error: function(){
                online = false;
                $(document).trigger('status.networkDetection',[false]);
            },
            success: function(){
                online = true;
                $(document).trigger('status.networkDetection',[true]);
            }
        });
    };
};

можно просмотреть демонстрацию здесь. Усадите свой браузер за работу офлайн и посмотрите что happens†¦. нет, it’s не очень захватывающий.

Триггер и Связывает

, Что является захватывающим, хотя (или по крайней мере что является захватывающим меня) метод, которым состояние передается через приложение. I’ve наткнулся на в основном необсужденный метод реализации pub/sub системы с помощью jQuery’s, инициировали и связывают методы.

демонстрационный код является более тупым, чем это должно быть. Объект определения наличия сети публикует ’status ‘events к документу, который активно прислушивается к ним и в свою очередь публикует события ‘notify’ всем подписчикам (больше на тех позже). Обоснование позади этого состоит в том, что в приложении реального мира, вероятно, было бы еще некоторое управление логики, когда и как события ‘notify’ публикуются.

$(document).bind("status.networkDetection", function(e, status){
    // subscribers can be namespaced with multiple classes
    subscribers = $('.subscriber.networkDetection');
    // publish notify.networkDetection even to subscribers
    subscribers.trigger("notify.networkDetection", [status])
    /*
    other logic based on network connectivity could go here
    use google gears offline storage etc
    maybe trigger some other events
    */
});

из-за jQuery’s DOM центральные события подхода публикуются к (включенному) элементы DOM. Это может быть объектом окна или объектом документа для общих событий, или можно генерировать объект jQuery использование селектора. Подход i’ve взятый с демонстрацией должен создать почти namespaced подход к определению подписчиков.

элементы DOM, которые должны быть подписчиками, классифицируются просто с “subscriber” и “networkDetection”. Мы можем тогда опубликовать события только к этим элементам (которых существует только один в демонстрации) путем инициирования уведомлять события на [1 124] $(“.subscriber.networkDetection”)

#notifier отделение, которое является частью .subscriber.networkDetection, группе подписчиков тогда связали анонимную функцию с ним, эффективно действуя как слушатель.

$('#notifier').bind("notify.networkDetection",function(e, online){
    // the following simply demonstrates
    notifier = $(this);
    if(online){
        if (!notifier.hasClass("online")){
            $(this)
                .addClass("online")
                .removeClass("offline")
                .text("ONLINE");
        }
    }else{
        if (!notifier.hasClass("offline")){
            $(this)
                .addClass("offline")
                .removeClass("online")
                .text("OFFLINE");
        }
    };
});

Так, там Вы идете. It’s все довольно подробные и мой пример isn’t при всем возбуждении. Это также doesn’t демонстрирует что-либо интересное, которое Вы могли сделать с этими методами, но если anyone’s вообще заинтересовал рыть через источник, не стесняются. Весь код встроен в голове демонстрационной страницы

103
ответ дан saluce 23 November 2019 в 20:32
поделиться

Я думаю так.. возможно 'связать' пользовательские события, как (от: http://docs.jquery.com/Events/bind#typedatafn ):

 $("p").bind("myCustomEvent", function(e, myName, myValue){
      $(this).text(myName + ", hi there!");
      $("span").stop().css("opacity", 1)
               .text("myName = " + myName)
               .fadeIn(30).fadeOut(1000);
    });
    $("button").click(function () {
      $("p").trigger("myCustomEvent", [ "John" ]);
    });
21
ответ дан Tuxified 23 November 2019 в 20:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: