2012-08-02 47 views
0

我想用jQuery,jstree和html顯示很多圖像。所有的圖像名稱都是這樣的。圖像服務器提供的源圖像

<node_id>-serverA_cpu.png 
<node_id>-serverA_mem.png 
<node_id>-serverB_cpu.png 
<node_id>-serverB_mem.png 

當我在外部創建的圖像,我給他們一個稱爲NODE_ID唯一標識符是相同的文字在jstree NODE_ID。當用戶點擊jstree上的節點時,我會顯示以該節點ID開頭的每個圖像。當Web服務器和圖像位於同一臺服務器上時,它運行良好。我這樣做

var Img_CPU = "img/"+node_id+"-Server_cpu.png"; 
var Img_Mem = "img/"+node_id+"-Server_mem.png"; 

然後我用jQuery函數是否存在加載圖像和源它,如下:

$(function() 
{ 
    var myImage1 = new Image(); 
    $(myImage1).load(function() 
      {     
     $("#div1").html(myImage1);  

      }) 

      .attr('src', Img_CPU).error(function() 
      { 
     $('#div1').html("").css({"border": "", "margin": "0"}); 
      }) 
}); 

這一切時,圖像位於偉大工程與IIS相同的服務器。如果我的圖像位於另一臺可通過http訪問的服務器上,該怎麼辦?如果他們在單獨的服務器上,我如何獲取圖像?

+0

什麼是另一個域名的網址?請舉一些例子 – 2012-08-02 15:12:01

回答

0

當圖像上的另一個域您必須將圖片的網址更改爲絕對URL

var Img_CPU = "img/"+node_id+"-Server_cpu.png"; 
to 
var Img_CPU = "http://anotherdomain.com/img/"+node_id+"-Server_cpu.png"; 

如果仍然無法工作,那麼我認爲這是跨域策略(雖然這不應該適用於圖像)

+0

我之前曾嘗試過這種方法,但由於某種原因,這種方法並不奏效。但我只是這樣做,它正在工作。謝謝。 – 2012-08-02 15:40:16