2011-03-28 41 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

相關問題