Я потратил приличное время, пытаясь решить эту проблему. Я думал, что я как-то неправильно установил свой путь к классу, но проблема заключалась в том, что я набрал:
java -cp C:/java/MyClasses C:/java/MyClasses/utilities/myapp/Cool
вместо:
java -cp C:/java/MyClasses utilities/myapp/Cool
Я думал, что значение полностью квалифицированного означает укажите полное имя пути вместо полного имени пакета.
Ваш код не работает, потому что он нарушает политику безопасности по умолчанию . Я создал скринкаст одной минуты, чтобы показать, что не так:
Во-первых, я показал, как отладить проблему. Щелкните правой кнопкой мыши по вашей всплывающей кнопке и нажмите «Осмотреть всплывающее окно» . После этого вы увидите следующее сообщение об ошибке:
Отказано для выполнения встроенного скрипта, поскольку оно нарушает следующую директиву политики безопасности контента: «script-src» self 'chrome-extension-resource: ".
blockquote>Это объясняет, что ваш код не работает, потому что он нарушает CSP по умолчанию: Встроенный JavaScript не будет выполнен . Чтобы решить эту проблему, вам нужно удалить все встроенные JavaScript из вашего HTML-файла и поместить их в отдельный JS-файл.
Результат показан ниже:
hello.html
( всплывающая страница)<!DOCTYPE html> <html> <head> </head> <body> <p id="demo">=a</p> <button type="button" id="do-count">Count</button> <script src="popup.js"></script> </body> </html>
popup.js
var a=0; function count() { a++; document.getElementById('demo').textContent = a; } document.getElementById('do-count').onclick = count;
Обратите внимание, что я заменил
innerHTML
наtextContent
. Научитесь использоватьtextContent
вместоinnerHTML
, когда вы намерены изменить текст. В этом простом примере это не имеет значения, но в более сложных приложениях это может стать проблемой безопасности в виде XSS.
Измените свой onclick
:
onclick="count"
Или измените функцию подсчета на что-то вроде этого:
function count()
{
var demo = document.getElementById("demo");
return function() {
demo.innerHTML = ++a;
}
}
Вот хорошая демонстрация, которую я собрал :
Код (предполагается, что вы добавили id="the_button"
к своей кнопке):
window.onload = function () {
var button = document.getElementById("the_button");
button.onclick = count();
function count() {
var a = 0;
var demo = document.getElementById("demo");
return function () {
demo.innerHTML = ++a;
}
}
}
Демонстрация: http://jsfiddle.net/maniator/ck5Yz/