在 jQuery 后台拉取 HTML 资源

发布于 2024-11-17 02:44:08 字数 435 浏览 4 评论 0原文

在一个页面上,有一个按钮。单击该按钮时,会出现一个下拉菜单。下拉列表包含一个图像。问题是在用户单击按钮之前不会获取图像。

$("#my_button").click(function(){
    $("#my_dropdown").html("<img src=\"http://mysite.com/image.jpg\" />"); 
});

我想在页面加载时获取图像,以便当用户单击下拉菜单时它就可以使用了。我该怎么做?我想我可以将图像插入到设置了 display:none 的页面中,这样它就会进入缓存,或者有没有办法在 jQuery 中加载文档时加载?

如果有什么区别的话,这是针对 Chrome 扩展的。我想我可以将图像放在扩展中(这样会更快),但我仍然很好奇是否可以使用 JS 加载图像。

谢谢, 凯文

On a page, there is a button. When the button is clicked, a dropdown shows up. The dropdown contains an image. The problem is that the image is not fetched until the user clicks the button.

$("#my_button").click(function(){
    $("#my_dropdown").html("<img src=\"http://mysite.com/image.jpg\" />"); 
});

I'd like to fetch the image when the page loads so it's ready to go when the user clicks the dropdown. How can I do this? I was thinking I could insert the image into the page with display:none set, so it'll get in the cache, or is there a way to load in when the document loads in jQuery?

This is for a Chrome extension, if it makes any difference. I suppose I could put the image in the extension (and that would be faster), but I'm still curious if it's possible to load the image using JS.

Thanks,
Kevin

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

花开半夏魅人心 2024-11-24 02:44:08

是的。只需在页面的ready()调用中将其定义为新图像:

$(document).ready( function() {
     var preload = new Image();
     preload.src = "http://mysite.com/image.jpg";
});

然后当您使用它时,它就已经在浏览器的缓存中了。您可以使用该变量,也可以按照现有的方式引用它。

Yes. Just define it as a new image in the ready() call of the page:

$(document).ready( function() {
     var preload = new Image();
     preload.src = "http://mysite.com/image.jpg";
});

Then when you use it, it will already be in the browser's cache. You can use the variable or just reference it the same way you already are.

世态炎凉 2024-11-24 02:44:08

您可以预加载每个图像...

$(document).ready(function() {
    (new Image()).src  =  '/path/to/myImage.jpg';
});

You could preload each image...

$(document).ready(function() {
    (new Image()).src  =  '/path/to/myImage.jpg';
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文