2014-03-06 36 views
0

我的頁面位於here 正如你所看到的,它看起來並不像它的正常工作。如果您嘗試在較舊的瀏覽器中打開它,這會變得非常明顯(這正是最初設定的)。head標籤頁面加載後編程關閉

我檢查從Chrome中所解釋的源代碼和它讓我看到以下內容:

<html> 
    <head> 
     <style type="text/css"></style> 
    </head> 
    <body> 
      <title>Internet adgang - Hurtig opsætning - Ansatte</title> 
     <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> 

等。

東西似乎關閉我的頭標籤,這是造成錯誤的種種:

W3 validator

我完全不知道是什麼原因造成這一點。

你可以看到我的源代碼here(我已經炒了PHP):

上面的代碼中不包含我的身體的代碼,因爲我相當肯定有無關head標籤關閉所有突然間。

Here是一個網頁,工作得很好的一些來源:

我完全被這個困惑,我不知道該怎麼辦,也不是什麼原因造成的。 有什麼建議嗎?

解決方案

隨着Buttc4k3的幫助和vogomatix我終於找到了解決辦法。正如buttc4k3所說,文件中隱藏着一個非法的「零寬度無空間」字符,這個字符在我的崇高文本編輯器中沒有顯示。它只會顯示您是否在Notepad ++中打開該文件。我不明白爲什麼這個角色會出現在谷歌瀏覽器,而不是在我的源代碼,但谷歌上搜索之後,我發現一個文件保存爲UTF-8 BOM(字節順序標記)將在BOM保存爲一個零寬度無空間角色!這是vogomatix救了我,並告訴我,我的文件與BOM保存,並重新編碼後沒有BOM它工作正常。

所以 - 如果你有同樣的問題,因爲我 - 保存文件,而無需編碼的BOM(這可以在記事本做++)。

+1

總是把php代碼放在頭標籤的上方或下方。嘗試解決它。 –

+0

它看起來像你有答案,但你的混淆爲什麼這樣工作。如上述狀態,我希望你有理由爲什麼代碼工作正常http://pastebin.com/j6FZYPM8。 –

+0

非常挑剔,但img標籤不關閉HTML(5)所以他們應該 vogomatix

回答

3

我把您的網站的頁面的源代碼,並在Notepad++粘貼,並在第3行5列它找到了一個zero-width no-break space在大多數編輯器/查看器中呈現不可見,但它會中斷瀏覽器的HTML解析器。我不知道它是如何或爲什麼到達那裏,因爲我無法在PHP代碼中找到它,但是也許可以通過在Notepad ++中打開代碼來找到它。它將這個角色渲染爲一個小點。如果找不到它,請將所有內容從<head>刪除到<title>,然後重新輸入。

我希望這可以工作。

PS:即使它不是你的頁面被破壞的原因,你應該添加<html></html>到標記。大多數瀏覽器都可以處理它的缺失,但這是有原因的。

+0

謝謝,這也是Flixer的答案,似乎解決了它。 刪除ZW NB,將PHP移動到頁面頂部並添加標籤終於解決了我的問題。 –

+0

重新開放問題!雖然我已經使頁面能夠正常工作,但我現在遇到了類似頁面的相同問題:https://wifi.au.dk/testingenv/auto_setup_student.php 我刪除了從第一個符號到下一個符號的所有內容div id =「container」>並將源代碼從工作頁面複製到此頁面,但仍不起作用。我很困惑。 –

+0

@BjørnZeiler這是在不同的位置相同的字符。這一次,它在文檔類型之前。 – Butt4cak3

0

好像你缺少<html>標籤。

當前的HTML代碼:

<!DOCTYPE html> 
<head> 
    <title>Internet adgang - Hurtig opsætning - Ansatte</title> 

必須是類似的東西:

<!DOCTYPE html> 
<html> 
    <head> 
     <title>Internet adgang - Hurtig opsætning - Ansatte</title> 
     [...] 
    </head> 
    <body> 
     [...] 
    </body> 
</html> 
+0

我試過這個,沒有骰子。 –

+1

還有似乎是''和''之間的一些奇怪的字符 - 如果我的十六進制編碼,它返回:' &#xfeff;','apperently&#xfeff'原因導致的問題(研究:它似乎意味着'零寬禁止空間')。嘗試刪除和之間的所有字符,並僅用空格和換行符替換它們。 – Flixer

0

編輯您的網站是作爲第一部分如下:

<?php 
    include 'XXXXX'; 
    include 'XXXXX'; 
    if(!isset($_GET['lang'])) { 
     $lang = "DA"; 
    } else { 
     $lang = $_GET['lang']; 
    } 
    ?> 
<!DOCTYPE html> 
<html lang="<?php $lang; ?>"> 
<head> 
    <title><?php echo trans("Internet adgang - Hurtig opsætning - Ansatte", $lang); ?></title> 
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> 
    <link rel="stylesheet" href="resources/styles/style.css" media="all"> 
    <script src="resources/js/jquery.min.js" type="text/javascript"></script> 
    <script src="resources/js/jquery-ui.min.js" type="text/javascript"></script> 
    <link rel="stylesheet" type="text/css" href="resources/styles/au-flowbox-style.css"> 
    <script type="text/javascript" src="resources/js/au-flowbox.js"></script> 
    <script type="text/javascript" src="resources/js/au-flowbox.data.js"></script> 
</head> 
<body> 
.... 
相關問題