Я преобразовал простое приложение NetBeans 8 Java FXML в управляемый Maven. Тогда у меня возникли проблемы, потому что методы getResource()
не смогли найти файлы .fxml. В моем первоначальном приложении fxmls были разбросаны по дереву пакетов - каждый рядом с файлом класса контроллера. После того, как я сделал Clean и построил в NetBeans, я проверил результат .jar в целевой папке - .jar вообще не содержал никакого fxml. Все fxmls были странно исчезли.
Затем я поместил все fxmls в папку resources / fxml и соответственно установил параметры метода getResource, например: FXMLLoader(App.class.getClassLoader().getResource("fxml/ObjOverview.fxml"));
. В этом случае все прошло нормально. Папка fxml появилась внутри корня .jar и содержала все мои fxmls. Программа работает как ожидалось.
убедитесь, что вы действительно загрузите jquery, это не jquery - это ui!
<script language="JavaScript"
src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.0/jquery-ui.min.js">
</script>
Это правильный источник скрипта для jquery:
<script language="JavaScript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
Эта ошибка может быть вызвана только одной из трех вещей:
Вы должны проверить панель Firebug net , чтобы проверить, действительно ли файл загружен правильно. Если нет, он будет подсвечен красным и будет указывать «404» рядом с ним. Если файл загружается должным образом, это означает, что проблема связана с номером 2.
Убедитесь, что весь код jQuery jQuery запущен внутри кодового блока, например:
$(document).ready(function () {
//your code here
});
будет гарантировать, что ваш код будет загружен после инициализации jQuery.
Последнее, что нужно проверить, - убедиться, что вы не загружаете плагины перед загрузкой jQuery. Плагины расширяют объект «$», поэтому, если вы загружаете плагин перед загрузкой ядра jQuery, вы получите описанную вами ошибку.
Примечание. Если вы загружаете код, который не требует jQuery для запустить его не нужно размещать внутри обработчика jQuery. Этот код можно разделить с помощью document.readyState
.
$(document)
не будет работать, если у вас нет тега script, включая jQuery перед этим утверждением ...
– PatrikAkerstrand
7 December 2010 в 16:07
Это сработало для меня (проект MVC5):
<script src="~/Scripts/jquery-1.10.2.js" type="text/javascript"></script>
У меня такая же проблема, и ни один случай не разрешает мне проблему. Единственное, что работает для меня, оно помещено в файл Site.master, следующее:
<script src="<%= ResolveUrl("~/Scripts/jquery-1.7.1.min.js") %>" type="text/javascript"></script>
<script src="<%= ResolveUrl("~/Scripts/bootstrap/js/bootstrap.min.js") %>" type="text/javascript"></script>
С src = "& lt;% = ResolveUrl (" ") ... нагрузка jQuery на страницах содержимого правильно.
Сначала вам нужно убедиться, что сценарий jQuery загружен. Это может быть из CDN или локального на вашем веб-сайте. Если вы не загрузите это первым, прежде чем пытаться использовать jQuery, он скажет вам, что jQuery не определен.
<script src="jquery.min.js"></script>
Это может быть в HEAD или в нижнем колонтитуле страницы, просто убедитесь, что вы загрузили его, прежде чем пытаться вызвать любые другие вещи jQuery.
Тогда вам нужно использовать одно из двух решений ниже
(function($){
// your standard jquery code goes here with $ prefix
// best used inside a page with inline code,
// or outside the document ready, enter code here
})(jQuery);
или
jQuery(document).ready(function($){
// standard on load code goes here with $ prefix
// note: the $ is setup inside the anonymous function of the ready command
});
. Помните, что много раз $ (документ). ready (function () {// здесь код}); не будет работать, особенно в wordpress.
Используйте секцию сценариев в макете представления и макета.
Поместите все ваши сценарии, определенные в вашем представлении, в разделе «Скрипты» представления. Таким образом, вы можете загрузить основную компоновку после загрузки всех других скриптов. Это настройка по умолчанию при запуске нового веб-проекта MVC5. Не знаю о более ранних версиях.
Просмотры / Foo / MyView.cshtml:
// The rest of your view code above here.
@section Scripts
{
// Either render the bundle defined with same name in BundleConfig.cs...
@Scripts.Render("~/bundles/myCustomBundle")
// ...or hard code the HTML.
<script src="URL-TO-CUSTOM-JS-FILE"></script>
<script type="text/javascript">
$(document).ready(function () {
// Do your custom javascript for this view here. Will be run after
// loading all the other scripts.
});
</script>
}
Просмотры / Shared / _Layout.cshtml
<html>
<body>
<!-- ... Rest of your layout file here ... -->
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required: false)
</body>
</html>
Обратите внимание, раздел scripts отображается последним в файле основного макета.
В моем случае я указывал на Google, размещенный в JQuery. Он был включен правильно, но я был на HTTPS-странице и вызывал его через HTTP. Как только я исправил проблему (или разрешил небезопасный контент), она выстрелила прямо.
u просто добавьте при запуске вашей страницы
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
и проверьте свою ссылку src в любой адресной строке браузера, если вы получаете код, это будет работать на вас. Асиф
У меня такое же сообщение об ошибке, когда я опечатал ссылку jQuery, а вместо type="text/javascript"
набрал «... javascirpt». ;)
type="text/css"
. Спасибо, что спасли мое здравомыслие!
– Jeriko
27 June 2011 в 22:32
type="javascript"
. Потратил 30 минут на то, чтобы найти это.
– mason
22 April 2015 в 03:13
Если вызов плагина jQuery находится рядом с </body>
, и ваш сценарий загружен до этого, вы должны сделать свой код запущенным после события window.onload
, например:
window.onload = function() {
//YOUR JQUERY CODE
}
`
, поэтому ваш код будет запускаться только после загрузки окна, когда все активы будут загружены. В этой точке будет определен jQuery ($
).
Если вы используете это:
$(document).ready(function () {
//YOUR JQUERY CODE
});
`
, $
isn 't еще не определено в это время, потому что он вызывается до загрузки jQuery, и ваш скрипт не будет работать в этой первой строке на консоли.
У меня была эта проблема один раз без видимых причин. Это происходило локально, пока я работал через сервер разработки aspnet. Он работал, и я вернул все в состояние, в котором оно работало раньше, и все же это не сработало. Я посмотрел в хром-отладчик, и jquery-1.7.1.min.js загрузился без каких-либо проблем. Это было очень странно. Я до сих пор не знаю, в чем проблема, но закрытие браузера, закрытие сервера разработки, а затем попытка его сортировки.
Возможно, у вас есть тэг скрипта, который вызывается до вызова сценария jquery.
<script type="text/javascript" src="js/script.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
Это приводит к тому, что $ не определено
Поместите jquery.js раньше ваш тег скрипта и он будет работать;) так:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" src="js/script.js"></script>
При использовании jQuery в asp.net, если вы используете основную страницу и вы загружаете исходный файл jquery, убедитесь, что у вас есть заголовок contentplaceholder после того, как все ссылки на сценарий jquery.
У меня возникла проблема, когда любые страницы, которые использовали эту главную страницу, возвращали «$ не определен» просто потому, что неправильный порядок делал код клиента на стороне перед созданием объекта jquery. Поэтому убедитесь, что у вас есть:
<head runat="server">
<script type="text/javascript" src="Scripts/jquery-VERSION#.js"></script>
<asp:ContentPlaceHolder id="Header" runat="server"></asp:ContentPlaceHolder>
</head>
Таким образом, код будет работать по порядку, и вы сможете запускать код jQuery на дочерних страницах.
У меня была такая же проблема, и я не мог понять, что ее вызывает. Недавно я преобразовал свои HTML-файлы с японского на UTF-8, но я ничего не делал с файлами сценариев. Как-то jquery-1.10.2.min.js был поврежден в этом процессе (я до сих пор не знаю, как). Замена jquery-1.10.2.min.js оригиналом исправил его.
Вы просто поместили библиотеку jQuery в раздел заголовка html:)
<head>
<script src="assets/js/jquery-1.10.2.min.js"></script>
<script src="assets/js/bootstrap.min.js"></script>
</head>
Эта ошибка означает, что jQuery еще не загружен на страницу. Использование $(document).ready(...)
или любого его варианта не принесет пользы, так как $
является функцией jQuery.
Использование window.onload
должно работать здесь. Обратите внимание, что для window.onload
можно назначить только одну функцию. Чтобы избежать потери исходной логики onload, вы можете украсить оригинальную функцию следующим образом:
originalOnload = window.onload;
window.onload = function() {
if (originalOnload) {
originalOnload();
}
// YOUR JQUERY
};
Это выполнит функцию, которая была первоначально назначена на window.onload
, а затем выполнит // YOUR JQUERY
.
Подробнее о шаблоне декоратора см. в https://en.wikipedia.org/wiki/Decorator_pattern .
Я просто сделал то же самое и обнаружил, что у меня было много
type="text/javacsript"
. Так что они загружались, но больше не было намека на то, почему он не работает. Само собой разумеется, правильная орфография зафиксировала его.
У нас та же проблема .... но случайно я проверил свойства папки и установил что-то ...
Вы должны проверить свойства каждой папки, к которой вы обращаетесь.
Надеюсь, что это решение ......
после некоторых тестов я нашел быстрое решение, вы можете добавить в верхней части своей индексной страницы:
<script>
$=jQuery;
</script>
он работает очень хорошо:)
Это означает, что ваша библиотека jQuery еще не загружена.
Вы можете переместить свой код после вытаскивания библиотеки jQuery.
или вы можете использовать что-то вроде этого
window.onload = function(){
// Your code here
};
Я использую Url.Content и никогда не сталкиваюсь с проблемой.
<script src="<%= Url.Content ("~/Scripts/jquery-1.4.1.min.js") %>" type="text/javascript"></script>
Оказывается, моя проблема была довольно глупой: я поставил <script href="">
вместо <script src="">
похоже, что если вы найдете файлы jquery.js в одной папке или в некоторых подпапках, где находится ваш html-файл, проблема Firebug будет решена. например, если ваш html находится под C: / folder1 /, то ваши js-файлы должны находиться где-то под C: / folder1 / (или C: / folder1 / folder2 и т. д.) и соответствующим образом обрабатываться в html-документе. надеюсь, что это поможет.
После того, как вы попробовали все здесь без каких-либо результатов, я решил проблему просто, переместив тег src скрипта из тела в голову
Используете ли вы какие-либо другие библиотеки JavaScript? Если это так, вам, вероятно, придется использовать jQuery в режиме совместимости:
Похоже, что jQuery не загружается должным образом. Какой источник / версия вы используете?
В качестве альтернативы, это может быть столкновение пространства имен, поэтому попробуйте использовать jQuery явно, вместо использования $
. Если это работает, вы можете использовать noConflict
, чтобы другой код, который использует $
, не сломался.
Как указано выше, это происходит из-за конфликта переменной $.
Я разрешил эту проблему, зарезервировав вторичную переменную для jQuery без конфликтов.
var $j = jQuery.noConflict();
и затем используйте его в любом месте
$j( "div" ).hide();
. Более подробную информацию можно найти здесь здесь
В решении упоминается - «Последнее, что нужно проверить, - убедиться, что вы не загружаете плагины перед загрузкой jQuery. Плагины расширяют объект« $ », поэтому, если вы загружаете плагин перед загрузкой ядра jQuery , то вы получите сообщение об ошибке.
Чтобы избежать этого -
Многие библиотеки JavaScript используют $ как имя функции или переменной, как это делает jQuery. В случае jQuery, $ является просто псевдонимом для jQuery, поэтому все функции доступны без использования $. Если нам нужно использовать другую библиотеку JavaScript вместе с jQuery, мы можем вернуть управление $ обратно в другую библиотеку с вызовом $ .noConflict ():
Просто поместите jquery url в верхней части вашего jquery-кода
, как это -
<script src="<%=ResolveUrl("~/Scripts/jquery-1.3.2.js")%>" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
$('#post').click(function() {
alert("test");
});
});
</script>
У меня была та же проблема, и это было потому, что моя ссылка на jQuery.js не была в теге. Как только я переключил это, все начало работать.
Anthony
$(document)
не будет работать, если у вас нет тега script, включая jQuery перед этим утверждением ... – PatrikAkerstrand 7 December 2010 в 16:07