2012-01-29 89 views
2

IM()jQuery函數,包括內部的另一個HTML文件的HTML標籤。 代碼示例:jQuery的.load()使用.load功能不加載HTML註釋標記

a.html:

<html> 
<head> 
    <script src="jquery.js"></script> 
    <script> 
     function loadContent() 
     { 
      $("#includedContent").load("b.html"); 
     } 
    </script> 
</head> 
<body> 
    <div id="includedContent"></div> 
    <script>loadContent()</script> 
</body> 

b.html:

<!--Include it--> 
<p> This is my include file </p> 

,當我打開a.html在我的瀏覽器,然後單擊 「查看源文件」 我不能見

<!--Include it--> 

這是爲什麼? 我需要它來追蹤東西。

如果你犯了一個簡單的HTML文件:

<html> 
<body> 
    <!-- Hello --> 
    <p>Hello world </p> 
</body> 
</html> 

打開它在瀏覽器中,單擊 「查看源文件」。你可以看到

<!-- Hello --> 

爲什麼當我們使用.load()時我們看不到註釋???

+0

你爲什麼依靠評論來追蹤? – ShankarSangoli 2012-01-29 16:25:22

+0

我需要它爲adv人檢查是否操作下面的代碼... – lolo 2012-01-29 16:27:27

回答

0

.load()Jquery的功能是一個很好的和有用的方式來包含* .html文件。但是對於這個問題,它並沒有那麼有用,因爲解決方案需要涉及「查看源」功能才能看到那裏的評論。

可以做些什麼? SSI(服務器端包含)解決方案,需要由管理員配置。 需要將.htaccess文件配置爲啓用apache來處理* .shtml文件。 關於SSI的信息可以在網上找到。

1

您使用的是什麼瀏覽器? IE瀏覽器不會更新DOM(在視圖源代碼/開發者工具視圖中)以迴應Ajax請求,如果你使用他們的開發工具查看頁面,Chrome瀏覽器將會使用

然後加載正在工作,它只是關於你正試圖查看評論。如何在瀏覽器處理響應動態頁面事件更新他們的「查看源文件」是針對特定瀏覽器,如果你是依靠別人來操縱DOM,然後查看頁面源看到的變化,你可能不得不重新考慮自己的戰略。

的意見應該在div的HTML:

<script> 
     function loadContent() 
     { 
      $("#includedContent").load("b.html", function() { alert($("#includedContent").html() }); 
     } 
    </script> 

你可能需要拿出用於顯示註釋的新方案。也許將它們添加到隱藏的div,並允許您(無論他們是誰)單擊按鈕來查看它們。

+0

不適用於IE瀏覽器,safari,鉻,ff ... – lolo 2012-01-29 16:30:55

+0

在IE中,你有F12開發工具。當按F12鍵時,你會看到IE開發者。工具。 – 2012-01-29 16:31:56

+0

你看到'

這是我的包含文件

'在頁面iteself(而不是查看源代碼)調用加載後? – Jason 2012-01-29 16:33:04

1

嘗試使用get()代替load()

根據jQuery documentation

jQuery使用瀏覽器的.innerHTML屬性來解析檢索 文檔,並將其插入到當前文檔。在此過程中, 瀏覽器通常過濾從文檔元素如< HTML>, <標題>,或<頭>元素。 其結果是,通過 .load()中檢索到的元件可以不是因爲如果該文檔是由瀏覽器中檢索 直接完全相同。

+0

從服務器獲取方法獲取數據。 我想在客戶端做所有事情 – lolo 2012-01-29 17:30:38

+1

'load()' - 此方法是從服務器獲取數據的最簡單方法。它大致等價於'$ .get(url,data,success)',除了它是一個方法而不是全局函數並且它有一個隱式回調函數。由於jQuery是JavaScript,它是純粹的客戶端語言(Node.js在這裏不是這種情況),所以'get'和'load'都從服務器獲取數據(因爲這就是你的資源所在),並且都是客戶端, – 2012-01-29 17:32:27