javascript - 如何使用 ajax 加载背景图片 url?
问题描述
您好,是否可以使用 ajax 从不同页面获取背景图像 url?我试过这个,但似乎不起作用。谢谢你的帮助。
var test = jQuery('#el').load('https://www.example.com/somepage/' .some-element).css('background-image');
console.log(test);
或者
jQuery.ajax({
url: 'https://www.example.com/somepage/',
type: 'get',
dataType: 'text',
success: function(data, status) {
console.log("Status: "+status+"\nData: "+data);
result = data;
var img = jQuery('.some-element').css('background-image');
console.log(img);
}
});
两者都是一样的。如何使用 javascript 从另一个页面获取背景图像 url?
解决方案
它不是 ajax,而是您可能需要的解决方案。
function loadBackground(url, query) {
return new Promise(function (resolve, reject) {
var iframe = document.createElement("iframe");
iframe.onload = function () {
var el = iframe.contentDocument.querySelector(query);
if (el) {
var style = iframe.contentWindow.getComputedStyle(el);
resolve(style.getPropertyValue("background-image"));
} else {
reject(new Error("Element not found"));
}
document.body.removeChild(iframe);
};
iframe.style.width = 0;
iframe.style.height = 0;
iframe.style.border = 0;
iframe.src = url;
document.body.appendChild(iframe);
});
}
loadBackground("https://www.example.com/somepage/", ".some-element").then(function (bg) {
console.log(bg);
});
推荐阅读
- python-3.x - 继承与使用一个类的类对象作为另一个类的字段(Python 3)
- firebase - 从 Firebase Cloud Functions 更新 Firebase Analytics 中的用户属性
- compilation - unistd.h 和 crypt.h 中的 crypt 有什么区别?
- python - 在 ubuntu 中启动时自动运行图形化 python 脚本
- linux - 语言/库来做简单的控制台 UI?
- php - WooCommerce 客户/订单 CSV 导出 - 添加列作为第一列
- firebase - 向先前创建的 Firestore 集合添加新字段是否会更改该集合中未来文档的结构?
- javascript - jquery-ui自动补全操作不正确
- android - Android inapp 网络浏览器的名称是什么
- php - 它算作 JSON 吗?