2011-03-28 57 views
1

我试图创建一个if语句,只有当当前页面URL匹配给定的字符串时才显示一行JavaScript。下面是一些伪代码:显示页面URL是否与传统ASP中的字符串匹配?

if URL matches ("example.com/sitename/") then 
response.Write("<script='file.js'></script>") 
end if 

问题是,我该如何检查当前页面的URL字符串是否匹配?

非常感谢!


感谢您的回复。我试图让它更复杂一些可能的URL匹配。我创建了以下asp,但它不能正常工作。该脚本正在写入URL不匹配的页面上。有什么看起来不对?我无法弄清楚!

<% 
    Dim pageURL 

    pageURL = Request.ServerVariables("SERVER_NAME") & Request.ServerVariables("URL") 
    URLArray = Array("example.net/folder1/","example.net/folder2/") 
    For Each URLsnippet In URLArray 
     if instr(pageURL, URLsnippet) then 
      response.Write("<!--BEGIN EXCLUDE--><script type='text/javascript' src='script.js'></script><!--END EXCLUDE-->") 
     else 
     end if 
    Next 
%> 

它应该匹配与example.net/folder1和example.net/folder2匹配的URL,但它也匹配example.net folder3!

回答

1

尝试

if Request.ServerVariables("URL") = "/myurl.com/script.asp" then 
' do stuff 
end if 
+0

得到site.com(主机名环境变量的值)使用Request.ServerVariables(“HTTP_HOST”) – heximal 2011-03-28 08:08:23

1

如果你只是想要的网址试试这个

var url = "<%=Request.ServerVariables("SERVER_NAME") & Request.ServerVariables("URL")"; 
if(url == "site.com/script.asp") 
{ 
    //Do stuff 
} 

如果您还需要查询字符串尝试

var url = "<%=Request.ServerVariables("SERVER_NAME") & Request.ServerVariables("URL") & "?" & Request.Querystring%>"; 
if(url == "site.com/script.asp?var=123") 
{ 
    //Do stuff 
} 
+0

感谢您的回应。我试图让它更复杂一些可能的URL匹配。我创建了以下asp,但它不能正常工作。它写在URL不匹配的页面上。有什么看起来不对?我无法弄清楚! – Katie7 2011-03-28 08:59:04

+0

@ Katie7我刚刚创建了一个测试页,它似乎工作正常。你有没有使用=而不是==来比较JavaScript中的网址? – 2011-03-28 09:32:39

相关问题