如果html页面是主页,如何运行jquery脚本...?

发布于 2024-09-19 06:24:01 字数 157 浏览 5 评论 0原文

我正在与我们网站的外部团队合作,他们最近将我的一个脚本添加到网站的 .NET MasterPage 中...它终于让我的脚本运行了,但现在...它在“每个”上加载横幅网站上的页面。

我怎样才能写一个“if”语句,基本上说...如果这是主页...运行这个脚本...如果不是,则不...?

I'm working with an external team with our website and they recently added one of my scripts to the .NET MasterPage of the site... well it did finally get my script running but now... it loads Banners on 'every' page on the site.

How can I write an 'if' statement that basically says... if this is the home page... run this script... if not don't...?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

弥繁 2024-09-26 06:24:01

如果您无法实施母版页解决方案,我将发布另一个答案。

您可以使用 flag 元素 告诉 jQuery 这是主页,因为之前发布的 URL 解决方案很容易被破坏。

在您的主页内容中的某个位置,只需将其放置即可。

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

然后使用 jQuery 检查该元素是否存在并运行代码。这是一个非常糟糕的解决方案,但如果您无法让我的其他答案发挥作用,它会起作用。

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

I'm posting another answer in case you can't implement the Master Page solution.

You could use a flag element to tell jQuery it's the homepage, because the URL solutions posted earlier can easily break.

Somewhere in your Homepage content, simply place this.

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

And then using jQuery, check if the element exists and run your code. It's a pretty poor solution but it will work if you can't get my other answer to work.

if($("#homepage-flag").length > 0) {
    // run code for homepage
}
治碍 2024-09-26 06:24:01

如何在母版页的 内创建一个脚本内容占位符,然后将主页中的内容放入占位符内。

基本上..

在您的母版页

<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 中删除,并将其添加到主页内脚本的正上方

How about a script Content Place holder that's inside the <head> of the MasterPage, and then placing content inside the placeholder from your homepage.

Basically..

In your Master Page

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

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

And then in your Home Page

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

Also - if you're not using jQuery on the other pages, you can remove it from the MasterPage and add it right above your script inside the home page <asp:Content />

娜些时光,永不杰束 2024-09-26 06:24:01

你不应该,但你可能会这样做:

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

但是...我的建议是在主页上创建一个内容部分,将其放入 HEAD 中并将 jQuery 放入其中而不是母版页。如果它没有在任何地方使用,就没有理由将其包含在母版页中......

You shouldn't, but you could probably do something like this:

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

BUT... my advise would be to create a content section on the home page that gets placed into the HEAD and put the jQuery into there instead of the masterpage. No reason to include it in the masterpage if it's not used everywhere...

拥有 2024-09-26 06:24:01

如果您使用的是 vb.net,则可以使用上面提到的内容占位符,但只需在母版页 vb 文件上使用一些代码隐藏来隐藏/显示占位符:(

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

确保先将默认视图设置为visible:false像这样重建:)

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

if you're using vb.net, you can use the content placeholder as mentioned above but just use a little codebehind on the masterpage vb file to hide/show the placeholder:

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

(make sure to set the default view to visible:false first before rebuilding like this:)

<asp:Content ContentPlaceHolderId="jQueryCode" runat="server" visible="false"> 
    // run jQuery script here 
</asp:Content> 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文