【问题标题】:loading images after page has been loaded加载页面后加载图像
【发布时间】:2016-09-15 00:57:34
【问题描述】:

我有一个使用 signalR 的页面。服务器调用客户端函数并将图像路径传递给它。即“内容/myimage.png”。在客户端函数中,我使用 jquery 加载这些图像。我在 chrome 中没有收到任何错误,并且图像没有默认没有在其中加载图片,但图像也不存在。该函数被调用。我错过了什么?

client.onStart = function(myPortrait){
   $("#myPortrait").load(myPortrait);
}


<img id="myPortrait" width="256" height="256" />

【问题讨论】:

  • 得到myPortrait路径后,能否复制到新窗口打开图片?看起来路径可能不完整(我希望):'mysite/contents/myimage.png'。
  • 控制台中的任何错误??确保你先检查一下

标签: javascript jquery html signalr


【解决方案1】:

$.load 将 html 替换为 url 中的内容,例如对于返回 &lt;div&gt;replacement&lt;/div&gt; 的函数,您可以这样做:

$("#mydiv").load(url);

你会得到

<div id='mydiv'><div>replacement</div></div>

在这种情况下,由于数据是返回图片的url,你想设置图片的src,而不是替换html,所以改为:

client.onStart = function(myPortrait) {
    $("#myPortrait").prop("src", myPortrait);
}

如果您通过 ajax 调用(而不是 SignalR 调用)执行此操作:

$.ajax({
    url: url,
}).done(function(data) {
    $("#myPortait").prop("src", data);
});

【讨论】:

    【解决方案2】:

    改为使用:

    $("#myPortrait").load(myPortrait);
    

    你可以使用:

    $("#myPortrait").attr('src', myPortrait);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多