javascript - 从外部 javascript 渲染 HTML
问题描述
我的任务是在客户的网站上显示我的产品列表。我的想法是在客户端的网站中包含我的 JavaScript 文件调用这样的函数,
<div id="my-product-list"></div>
<script src="https://example.com/myscript.js"></script>
const myproducts = new Products('#my-product-list', 12323);
myproducts .setup();
</script>
这是实现这一目标的正确方法吗?
如果是,我如何media
为我的元素包含 css 样式(查询)?
如果不是,最好的方法是什么?
解决方案
是的!这当然是实现您所需要的一种方式。
要包含样式,您可以像引用脚本一样简单地链接到您的样式。
客户网站
<div id="my-product-list"></div>
<script src="https://example.com/myscript.js"></script>
<script>
initProducts('#my-product-list', '31337')
</script>
<link href="https://example.com/mystyles.css" rel="stylesheet">
myscript.js
function initProducts(selector, clientId) {
const baseEl = document.querySelector(selector)
if (baseEl) {
fetch('http://example.com/products/' + clientId)
.then(response => response.json())
.then(data => {
baseEl.innerHTML = data
});
} else {
console.warn('baseEl not found', selector)
}
}
我的样式.css
#my-product-list {
...
}
#my-product-list div {
...
}
@media (min-width: 600px) {
#my-product-list {
...
}
}
推荐阅读
- xamarin.forms - 在 Xamarin.Forms 中创建 UI 元素
- debian - Artifactory Jfrog 中的 Debian Bionic 错误
- python - Django:forms.ChoiceField 在新页面加载后不刷新
- php - 匹配过滤器必须是 PHP 中具有 mongo 聚合的对象中的表达式
- python - 在 for 循环中连接 numpy 数组
- prestashop-1.7 - Prestashop 1.7 在产品列表中显示横幅
- node.js - 我可以安装 node_modules 一次,并且需要所有时间吗
- python - 使用 pandas 抓取 HTML:它可以用来抓取网页中的表格吗?
- laravel - 如何将用户帐户验证码保存到 Laravel 中的文本文件?
- docker - 如何使用卷在 dockerized DynamoDB 中持久化数据