图像服务器提供的源图像

时间:2012-08-02 15:06:04

标签: javascript jquery

我想使用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访问的服务器上,该怎么办?如果图像位于单独的服务器上,我该如何获取图像呢?

1 个答案:

答案 0 :(得分:0)

当图片在另一个域上时,您必须将图片网址更改为绝对网址

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

如果它仍然不起作用,那么我认为这是跨域政策(虽然这不适用于图像)