0

jquery、jstree、htmlを使って表示したい画像がたくさんあります。すべての画像名はこんな感じです。

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

イメージを外部で作成するときは、jstreenode_idと同じテキストである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経由でアクセスできる別のサーバー上にある場合はどうなりますか。別のサーバーにある場合、どうすれば画像を入手できますか?

4

1 に答える 1

0

画像が別のドメインにある場合は、画像のURLを絶対URLに変更する必要があります

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

それでも機能しない場合は、これはクロスドメインポリシーだと思います(ただし、これはイメージには適用されません)

于 2012-08-02T15:11:13.923 に答える