2013-08-01 72 views
2

所以我得到了這個新的網站打理:http://www.kineformeconcept.com/mtl/index.shtml的#include文件指令不能正常工作

菜單也不再顯示自從客戶端移動承載位置。

我從來沒有使用過#include file =「whatever.html」指令。

我現在是一個ASP指令,但我從來沒有使用過ASP。我應該從哪裏開始?

如果有人想看看代碼,它在第66行:

<td align="center" valign="top" bgcolor="#ededee"><!--#include file="menu.html" --></td> 
+0

新的主機不支持傳統的ASP,因爲它很簡單。 –

+0

@ShadowWizard - 假設它甚至用ASP編寫。我開始認爲情況可能並非如此。 – AnonJr

+0

@AnonJr這是傳統的ASP語法,聽起來好像它曾經在之前的主機上工作過。 –

回答

1

#include指令不ASP的一部分,每本身 - 它是一個服務器指令,Web服務器本身的一部分並且獨立於您正在使用的腳本語言。

如果它工作在一臺服務器上,並停止工作在新服務器上,那麼最有可能的罪魁禍首是一個錯誤配置的服務器。*

  • 如果是自己收留了它,到哪裏修復它將取決於您正在使用的服務器軟件上的 以及您正在使用的那個版本的 軟件。
  • 如果您不是自己託管它,您可能需要聯繫您的主機 以啓用適當的功能。

假設迄今已有所使用ASP-經典,因爲那是什麼的問題被標記爲,你在這個問題本身提ASP ...但你的鏈接是一個.shtml頁和問題的內容讓我相信它只是靜態的HTML語句,其中有一些#include語句。


半隨機一邊 - 它不應該的問題,但如果你已經移動到更... ...特定的服務器軟件,它可能只是大驚小怪的<!--之間的空間不足和#include。相反的:

<td align="center" valign="top" bgcolor="#ededee"><!--#include file="menu.html" --></td> 

地說:

<td align="center" valign="top" bgcolor="#ededee"><!-- #include file="menu.html" --></td> 
0

你的頁面的文件名是.shtml

應該.asp,然後#include file#include virtual應該工作。

+0

大多數服務器都設置爲將'.shtml'文件識別爲包含服務器指令,並將處理它們。這就是'.shtml'擴展的用途 - 純HTML和/或包含其他服務器指令,無需運行額外的解析器。 – AnonJr

+0

Apache服務器通常設置爲識別.shtml,但我不認爲這是IIS的情況(如果它正在運行ASP,它必須是IIS)。所以是的,將.shtml擴展名改爲.asp應該可以。如果這意味着通過站點拖網來改變鏈接負載,那麼另一種方法是通過IIS管理器中的處理器映射將.shtml擴展映射到asp.dll – John

+0

不幸的是,將擴展名更改爲.asp不起作用。謝謝您的幫助! – PMaly

0

您的新主機不支持傳統的ASP。但是,對於這樣一個簡單的事情,你並不需要經典ASP的力量。您可以使用jQuery輕鬆地將菜單加載到表格單元格中。

首先,給唯一ID的細胞:

<td id="MenuCell" align="center" valign="top" bgcolor="#ededee"> 

現在在代碼中加入jQuery庫:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> 

最後將此代碼添加到您的網頁:

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#MenuCell").load("menu.html"); 
}); 
</script> 

完成後,您現在將看到菜單,不需要服務器端代碼。

+0

是啊......我不想經歷所有這些麻煩。該網站是相當古老的學校。如果我走這條路,我必須在所有頁面上這樣做。壞消息! – PMaly

+0

@PMaly你可以在單獨的文件中有JS代碼,然後只要有''script type =「text/javascript」src =「LoadMenu.js」>'如果它有任何幫助。 –