Как запустить jquery script, если html-страница является главной страницей...?

Я работаю с внешней командой с нашим веб-сайтом, и они недавно добавили один из моих сценариев в .NET MasterPage сайта... ну, наконец, он получил мой script, но теперь... он загружает Баннеры на странице "Все" на сайте.

Как я могу написать оператор "if", который в основном говорит... если это домашняя страница... запустите этот script... если не так...?

Ответ 1

Я отправляю другой ответ, если вы не можете реализовать решение главной страницы.

Вы можете использовать элемент , чтобы сообщить jQuery его главной странице, потому что ранее опубликованные URL-адреса могут легко сломаться.

Где-то в вашем домашнем контенте просто поместите это.

<span id="homepage-flag" style="display: none" />

И затем, используя jQuery, проверьте, существует ли элемент и запускает ваш код. Это довольно плохое решение, но оно будет работать, если вы не сможете получить мой другой ответ на работу.

if($("#homepage-flag").length > 0) {
    // run code for homepage
}

Ответ 2

Как о держателе содержимого script, который находится внутри <head> MasterPage, а затем размещайте содержимое внутри заполнителя с вашей домашней страницы.

В основном..

На главной странице

<head>
<title>hello</title> etc...
// add jQuery here

<asp:ContentPlaceHolder ID="jQueryCode" runat="server"></asp:ContentPlaceHolder>

И затем на вашей домашней странице

<asp:Content ContentPlaceHolderId="jQueryCode" runat="server">
    // run jQuery script here
</asp:Content>

Кроме того, если вы не используете jQuery на других страницах, вы можете удалить его из MasterPage и добавить его прямо над своей script на домашней странице <asp:Content />

Ответ 3

Вы не должны, но вы, вероятно, могли бы сделать что-то вроде этого:

if(window.location.pathname == "{home page}")
{
  //run home page jquery.
}

НО... моим советом было бы создать раздел содержимого на домашней странице, который будет помещен в HEAD, и вместо этого поставить jQuery вместо главной страницы. Нет причин включать его в главную страницу, если он не используется везде...

Ответ 4

если вы используете vb.net, вы можете использовать заполнитель содержимого, как упоминалось выше, но просто используйте небольшое кодовое имя в файле главной страницы vb, чтобы скрыть/показать заполнитель:

 If Request.Url.AbsolutePath.ToLower = "/index.aspx" Then
    jQueryCode.Visible = true
End If

(обязательно установите видимость по умолчанию на вид: false сначала перед перестройкой следующим образом:)

<asp:Content ContentPlaceHolderId="jQueryCode" runat="server" visible="false"> 
    // run jQuery script here 
</asp:Content>