У меня есть некоторые события jQuery на главной странице, которая должна запускаться на всех страницах контента. Если страница содержимого находится в том же каталоге, что и главная страница, она работает нормально. Однако, если страница содержимого находится в подкаталоге, страница загружается отлично, но jQuery не запускается.
JQuery не так много и находится только между тегами <script></script>
. Если возможно, я хотел бы сохранить его таким образом, а не использовать ASP ScriptManager
.
Вероятно, ваш сценарий в порядке, но ваши ссылки jQuery перепутаны из-за неправильных относительных путей. Вы должны быть в состоянии проверить с помощью инструментов отладки браузера, вы увидите, где не удалось загрузить jQuery.
<script type="text/javascript" src='<%=ResolveUrl("~/path/jquery.js") %>'></script>
Используя вышеизложенное, мы получаем правильный относительный путь сайта со стороны сервера. Тогда ссылка на jQuery должна быть правильной независимо от того, в какой папке вы находитесь.
Когда основные страницы объединены с страницами содержимого, пути к сценариям не обновляются, если вы жестко задаете путь к сценарию. Поэтому, если вы находитесь в той же папке, что и ваша главная страница, путь к вашим скриптам правильный. Но если вы находитесь на другом уровне структуры папок, путь становится неправильным. Вот почему мы используем ResolveUrl() со стороны сервера, и он может дать нам правильный путь на стороне клиента, независимо от того, в какой папке мы находимся.
src="script/Jquery.js"
. В чем разница между вашим решением и выполнением src="/script/Jquery.js"
, так как оба, похоже, работают.