2011-08-25 48 views
6

谷歌充滿了這個問題,但沒有其他頁面的幫助我。我嘗試了更改jQuery版本,嘗試做整個var $ j = jQuery.noConflict();嘗試重新排列JS/jQuery腳本,嘗試了jQuery網站建議的無緩存事件,但仍然是我的負載()不會沒有工作。jQuery的負載()不工作在IE8中所有

<a onclick="loadCont('canyou.php');">Can you help us</a> 


function loadCont(file){ 
$j("#maincont").load(file); 
alert(file); 
return false; 
} 

像往常一樣,它會加載除IE8以外的其他瀏覽器。該alart()是有IE8的調試,並將該文件順利通過,它只是不加載到#maincont

任何攻方讚賞代碼或答覆的幫助。 感謝

+0

你在服務器上看到一擊,當你嘗試這種在IE8? –

+0

我如何測試/看到? – ben

+0

查看服務器的訪問日誌。 –

回答

1

嘗試設置此功能有點不同。使用下面的代碼,看看你是否得到任何結果。

HTML

<!-- link with ajax target in href --> 
<a class="loadlink" href="canyou.php">Can you help us</a> 

jQuery的

<html> 
<head><title>can you</title></head> 
<body> 
    <!-- we only want to load content from this div --> 
    <div id="content">This is the only content we want returned...</div> 
</body> 
</html> 

編輯

如果canyou.php包含<html><body>標籤完整的HTML骨架,那麼你應該擁有jQuery的只有分析出您希望從該頁面獲得的HTML並丟棄其餘的內容(您不想推<html>個或<body>標籤到您的#maincont格)。您可以讓jQuery通過在load()方法中的URL參數之後添加空格和選擇器來完成此操作。下面是HTML的例子:

<html> 
<head><title>can you</title></head> 
<body> 

    <div id="content"> 
     This is the only content we want returned... 
    </div> 
</body> 
</html> 

這裏是新的負載調用會是什麼樣子:

$('#maincont').load($(this).attr('href') + ' #content'); // Only get the content in #content div 
+0

沒有運氣,只是加載內容頁「canyou.php」在同一窗口 – ben

+0

是canyou.php一個完整的HTMl文檔doctype/html/body標籤?如果是這樣,我想我以前遇到過這個問題。請檢查我的更新答案,現在讓我解決這個問題。 –

+0

nope仍然沒有去,只是直接加載在同一個窗口。 – ben

0

$(.是再正常不過的信j

是不是$("#maincont").load(file);

我使用負載IE8 ...它的作品好親自

0

呦兄弟。你忘了e.preventDefault();

如果你想有一個鏈接在一個div打開你當前頁面上,爲前:

<a class="loadlink" href="canyou.php">Can you help us</a>

你的jQuery應該是這樣的:

$("a.loadlink").click(function(e){ 
e.preventDefault(); //this prevents the redirect that the <a> tag makes on default 

// then enter the rest of your jQuery here: 
var file = $(this).attr("href"); 
$("#maincont").load(file); 
}); 

這應該是'即插即用'。