JQuery-расширение не выполняется в приложении Chrome

0

У меня возникла странная проблема с моим хром-приложением, которое я сейчас разрабатываю. Я хочу использовать расширение "ручка", чтобы использовать его для слайдера будильника (чтобы установить время). Это было бы не очень сложно, не было бы ограничений и странных проблем при программировании хром приложение.

В моем файле index.html я включил библиотеку jquery и расширение кнопки. И тут начались проблемы. Так или иначе, мои скрипты могут использовать только Id элементов, которые над ними. Поэтому, когда я включаю теги между тегами, ничего не выполняется, если я помещаю их после первых тегов, они работают только с вещами, которые находятся в этом контейнере div. поэтому я поставил скрипт непосредственно перед тегом. Это хорошо работает для "нормального" удобства использования javascript. Но поскольку у меня есть функция, которая ссылается на функцию jquery (для ручки), библиотека jquery должна быть уже загружена до того, как функция будет выполнена (если нет, она просто не работает). Я попытался получить обходное решение, используя эти возможности:


document.onload=test();

function test(){

$(function() {
$(".dial").knob();
});
}

document.onload=test();

$(function test() {
$(".dial").knob();
});
}

document.onload=$(function() {
$(".dial").knob();
});
}

хорошо... Это не сработало. Я также попробовал window.onload, с тем же повторением. у кого-то есть решение? Это было бы очень полезно.

Благодарю вас, neissen

  • 0
    находится код вне файла HTML в файле .js?
  • 0
    объясните пожалуйста "когда я включаю теги между тегами"
Показать ещё 3 комментария
Теги:
google-apps

2 ответа

0
Лучший ответ

Попробуйте вот так:

$(function() { //document ready function
  function test(){ //inside the ready function
     $(".dial").knob();
  }
  test(); // and call the function here
});
  • 0
    Спасибо за ваш ответ. Я попробовал вашу идею, но она все равно не осуществится. Он работает в браузере, но не в веб-приложении. любая идея?
0

Ваши проблемы:

  • jQuery может не загружаться, но вы использовали некоторый ванильный JS для обработки jQuery, что приведет к ошибкам.
  • Может быть связано с глобальными и местными.

Для внешних скриптов функции запускаются только локально, что означает, что глобальный объект, содержащий html, не будет доступен.

Чтобы создать глобальную функцию и библиотеку jQuery - JS:

if ("undefined" === typeof jQuery) {throw new Error("This library requires jQuery"); }
$(function() {
    window.myFunction = function() {
        doSomething();
    }
    doSomething();
})

Работает вызов из HTML - HTML:

<script>
    $(function() {
        doSomething();
    })
</script>

Выше - самый безопасный способ приблизиться к библиотеке jQuery. Функция $(function() {... означает то же самое, что и $( document).ready(function() {..., execute, если она загружена и готова, гарантирует, что браузер знает, как справляться со всеми используемыми функциями.

  • 0
    Спасибо за ваш ответ. Это не сработало. Я просто не могу запустить это .. любая идея?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню