2009-11-08 91 views
0

大家好,晚上好,jQuery的加載()不顯示圖像

我正在使用JavaScript從HTML文件加載/覆蓋內容到指定的div。
您可以watch a demo

,做負載的工作看起來像下面的JavaScript:

function loadScreenie(elementSelector, sourceURL) { 
    $(""+elementSelector+"").load("img/screenies/"+sourceURL+""); 
} 

,並得到通過看這樣的超鏈接引用:

<a href="javascript:loadScreenie('#iphone-screen', 'screenie2.htm');">mibmib</a> 

(我也曾嘗試用的onclick相同= 「」)

這是screenie2.htm的內容

hello world<br /> 
<img src="screenie2.png" /> 

問題是圖像不顯示。的行爲是這樣的:
- 您點擊鏈接並執行javascript。
- 正確顯示screenie2.htm中的文本
- 顯示的圖像是而不是。也沒有任何破碎的圖像符號或空的空間。

你有什麼想法可能會導致此錯誤?

非常感謝提前,
- 班尼

+3

我看到了很好的圖像......假設在您的演示頁面上,我點擊了唯一可能的鏈接。 – 2009-11-08 18:09:13

+0

是的 - 圖像''也出現在我身上 – 2009-11-08 18:14:27

+1

問題是演示程序加載了同一目錄中的所有內容。但是他的問題表明文檔是從一個子目錄加載的。 – 2009-11-08 20:24:25

回答

2

好的。讓我來結束這裏發生的事情。

  1. 當用戶點擊鏈接時,jQuery的負載「IMG/screenies/screenie2.htm
  2. 圖像標籤<img src="screenie2.png" />插入DOM。

所以,我們有一個圖像鏈接到在應該像./screenie2.png,在那裏你會相信它應該鏈接到*/** IMG/screenies/** * screenie2.png

你需要在你的load()使用絕對URL。:編輯內容

+0

是的,嘗試MC談論的絕對URL ...聽起來是正確的。 – btelles 2009-11-08 23:56:12

+0

這個作品,非常感謝!我也讓我的文件結構更簡單一些,因爲這很複雜:)謝謝 – ngmir 2009-11-09 10:49:18

0

如果你使用IE瀏覽器測試,該問題可能是jQuery使用,而不是創建與負載命令各DOM元素的innerHTML。 IE可以非常挑剔。

+0

我正在測試FF,Safari和Chrome,所有最新版本。 – ngmir 2009-11-09 10:49:58