Владелец ASP.Net Пэйдж и Ребенок Пэйдж оба требует ссылки на библиотеку jQuery

Возможно, кто-то мог помочь моему пониманию пути, которым jQuery взаимодействует с ASP.Net?

На моей странице владельца места я включал ссылку на библиотеку jQuery наряду с другими ссылками следующим образом:

    <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>    <script src="/js/ui/jquery-ui-1.7.2.custom.min.js" type="text/javascript"></script>    <script  src="/js/jquery.autocomplete.js" type="text/javascript"></script>    <script src="/js/liquidmetal.js" type="text/javascript"></script>    <script src="/js/jquery.flexselect.js" type="text/javascript"></script>

Я предположил, что, делая так, библиотека jQuery теперь будет "глобальна" ко всем другим страницам ASP.Net, которые использовали владельца места в качестве их основной страницы.

На конкретной детской странице я использовал другие плагины jQuery, такие как:

осуществить функциональность поиска для моего приложения базы данных.

В моей странице результатов поиска я включал функцию $document.ready, чтобы осуществить щелчок и изменить укладчиков для различных элементов UI, как каждый делает. Однако они не вели себя, как предназначено, так используемый Поджигатель, чтобы попытаться понять то, что шло не так, как надо на детской странице только, чтобы обнаружить, что следующее исключение поднималось:

ReferenceError: jQuery не определяется [Разрыв на этой ошибке]

$ (документ) .ready (функция() {

Когда я включал ссылку на библиотеку jQuery, прежде чем все другие ссылки на программные расширения и т.д., моя страница тогда начала вести себя как ожидалось с Поджигателем, сообщающим ни о каких проблемах.

Кто-то может, пожалуйста, объяснить мне, почему вы потребовали бы ссылки на библиотеку jQuery и в моем владельце места и в страницах, которые используют ее?

Я - относительный новичок и к jQuery и к ASP.Net.

Основной код страницы:

    


<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<title>Untitled Page</title>


<link rel="stylesheet" href="/css/ui-lightness/jquery-ui-1.7.2.custom.css" type="text/css" />    
<link rel="stylesheet" href="/css/main.css" type="text/css" media="screen, projection" />  
<link rel="stylesheet" href="/css/print.css" type="text/css" media="print" />
<link rel="stylesheet" href="/css/jquery.tooltip.css" type="text/css" />
<link rel="stylesheet" href="/css/menubar.css" type="text/css" media="screen, projection" />
<link rel="stylesheet" href="/css/tipsy.css" type="text/css" media="screen, projection" />
2
nl ja de

4 ответы

То, что должно происходить, - то, что страница содержания, на которой jQuery, не загружаемый, является страницей в различной папке к другим страницам содержания, то есть, ваша проблема, является ссылкой на папку, содержащую ваш файл jQuery. Избегать этого вида проблемы могло поместить ссылку jQuery на хранилище, которое находится в сети а не в вашей локальной файловой системе (сервер). Необходимо поместить ссылку как это:


    <title>Some page</title>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js" language="javascript" type="text/javascript"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js" language="javascript" type="text/javascript"></script>
    <link href="~/Scripts/css/smoothness/jquery-ui-1.10.0.custom.min.css" rel="stylesheet"
        type="text/css" runat="server" />

    
    
</head>

Отметьте runat = Признак "сервера", который ссылается на jQueryUI таблицу стилей. Этот признак позволяет процессу asp.net признак и поместил относительный путь в вашу таблицу стилей, неважно, какой уровень вложения - ваша страница содержания.

2
добавлено
Как это происходит, Винсенте был прав, и это была проблема с местоположением сценария библиотеки jQuery относительно положения страницы содержания <тип сценария = "text/ JavaScript" src = "js/ jquery-1.3.2.min.js"> </ сценарий> . Ссылка относительно местоположения основной страницы, таким образом, извлеченный урок. Честно Ceryl действительно затрагивал это в более раннем комментарии. Кредит всем вам, которые ответили, поскольку вы дали мне некоторое ценное понимание. Спасибо всем.
добавлено автор fredthered, источник

Этого не должен происходить imo...

JavaScript - вся выполненная клиентская сторона, и ваш masterpages и childpages - собранная серверная сторона (никакой JavaScript не выполняется или ничто), и только когда вы просмотрите страницу, сервер соединит все части владельца/детей и пошлет законченный HTML в браузер, только тогда будет браузер начинать выполнять JavaScript. Таким образом, это не должно определенно быть помещено и в ребенка И В masterpage...

Судя по ошибке без любой дополнительной информации единственная вещь, о которой я могу думать, состоит в том, что вы, возможно, поместили jQuery не в голову, а у основания вашего masterpage (Таким образом, читая ваш HTML сверху донизу, браузер сначала сталкивается с требованием к jQuery (в коде childpage) без загружаемого сценария, так как это - waaaay вниз в конце.)

Помещая код также в вашу детскую страницу это тогда высоко достаточно в вас HTML, что это доступно, когда звонки к jQuery сделаны...

1
добавлено
Вы don' у t есть сценарий в ГЛАВНОМ признаке, но снаружи между <html> и <ГОЛОВА>.... Ваш HTML выглядит уродливым... Это должно быть похожим на это: <html> <голова> <сценарий src = "yourscript"> <тело>....
добавлено автор Ceryl Wiltink, источник
Это смотрит хорошо, это должно определенно быть в ГОЛОВЕ, таким образом, it' s не это... И код вы отправили хорошие взгляды... Однако ваша ошибка говорит, что "jQuery не определяется" вместо ожидаемого "$, не определяется"... Есть ли, возможно, noConfict() требование где-нибудь, которое не регистрирует "jQuery"? Или возможно ошибка не на самом деле в линии с $ (документ), но тот выше его (Иногда, errorconsole может сделать это...)?
добавлено автор Ceryl Wiltink, источник
Хорошо, таким образом, я двинулся, jQuery включают в перед <главным> признаком и удалил ссылку на него с детской страницы. Назад к проблеме eferenceError: jQuery не определяется [Разрыв На Этой Ошибке] $ (документ) .ready (функция() {
добавлено автор fredthered, источник
Основная страница теперь: <тип сценария = "text/ JavaScript" src = "js/ jquery-1.3.2.min.js"> </ сценарий> <возглавляет runat = "сервер">
добавлено автор fredthered, источник
BTW writeToBhuwan, Ричард А. и Серли Вилтинк, пожалуйста, терпите меня, поскольку я все еще выясняю, как быть "хорошим" пользователем на Переполнении стека!
добавлено автор fredthered, источник
Признак src правилен, и грузы библиотеки jQuery правильно для "других" детских страниц, которые используют того же самого владельца, но не того, с которым у меня есть проблемы!
добавлено автор fredthered, источник
Я пытался поместить справочное руководство по библиотеке jQuery и внутри и снаружи <голова> признак; тот же самый результат
добавлено автор fredthered, источник
<возглавляют runat = "сервер"> <тип сценария = "text/ JavaScript" src = "js/ jquery-1.3.2.min.js"> </ сценарий> <название> Неназванная Страница </ название>
добавлено автор fredthered, источник

Висенте правилен, используйте префикс тильды, чтобы обозначить, что путь относительно маршрута

но если это все еще дает ошибочному использованию Google cdn подход с вашей местной копией как спина, что-то как:

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
if (typeof jQuery == 'undefined')
{
    document.write(unescape("%3Cscript src='~/js/jquery-1.3.2.min.js' type='text/javascript'%3E%3C/script%3E"));
   }
  </script>
0
добавлено

Удостоверьтесь, что вы сослались на библиотеку jQuery перед заполнителем содержания на основной странице.

<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.0.js"></script>




0
добавлено
Это правильно, но doesn' t действительно решают проблему.
добавлено автор Richard A., источник
Моя основная страница (который как новичок я унаследовал как пример) является гибридом стандартной страницы HTML с заполнителями для Главного и Основного содержания:
добавлено автор fredthered, источник
Я переместил ссылку на <главный> признак, который hasn' t решил проблему!
добавлено автор fredthered, источник
Верстка сайтов HTML/CSS/JS/PHP
Верстка сайтов HTML/CSS/JS/PHP
3 439 участник(ов)

Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @topmarkening Автор: @M_Boroda

DotNetRuChat
DotNetRuChat
2 992 участник(ов)

Чат русскоязычного .NET сообщества http://dotnet.ru/ Вам могут быть интересны: @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @xamarin_russia, @microsoftstackjobs, @uwp_ru Флуд в @dotnettalks

Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

pro.net
pro.net
710 участник(ов)

Обсуждение .NET Framework и всего, что с ним связано. Правила: не флудить не по теме, уважать ваших коллег и никакой рекламы (объявления о вакансиях можно согласовать с @AlexFails). Флудилка: @dotnettalks Участник @proDOT

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot

.NET Talks: Force Push Masters
.NET Talks: Force Push Masters
490 участник(ов)

Свободный чат .NET разработчиков. Правила: t.me/dotnettalks/56823 Вам могут быть интересны: @dotnetruchat, @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @dotnetgroup, @xamarin_russia, @microsoftstackjobs, @uwp_ru http://combot.org/chat/-1001128250813

.NET Chat Убежище
.NET Chat Убежище
246 участник(ов)

Чат .NET разработчиков под эгидой MSK/SPB .NET Community Group Вам могут быть интересны: @fsharp_chat, @dotnetruchat, @cilchat, @xamarin_russia, @microsoftstackjobs, @dotnetgroup Флуд в @dotnettalks

.NET CIL Chat
.NET CIL Chat
54 участник(ов)

.NET CIL (aka IL aka MSIL)