如何在opencart的同一页面上两次使用相同脚本中的脚本?

Posted

技术标签:

【中文标题】如何在opencart的同一页面上两次使用相同脚本中的脚本?【英文标题】:How to use script in same scripts twice on same page in opencart? 【发布时间】:2022-01-20 21:10:27 【问题描述】:

我正在使用以下脚本在我的产品 SKU 的发票上显示条形码。但是当我再次使用相同的脚本显示产品名称 product.name 的条形码时,SKU 条形码消失了,它只显示一个条形码,即产品名称条形码。如何使用脚本显示产品名称和 SKU 的多个条形码?

仅供参考:我对代码一无所知。

<script src="https://cdn.jsdelivr.net/jsbarcode/3.3.20/JsBarcode.all.min.js"></script>
        <h1><img id="upc"/><script> $('#upc').JsBarcode(" product.sku ",width:1,height:50,lineColor: "#333333" ); </script></p></h1>

【问题讨论】:

$('#upc') 语法可以是任何东西,但它很可能是 CSS 选择器,这意味着它针对页面上的单个元素。您需要找到其他标识元素的内容,例如类名或一些唯一的 CSS 路径。这是一个编程网站,很难提供不需要任何编程技能的建议。 我投票结束这个问题,因为 html 无效。 @Rob 不,不是真的。为什么不?因为那样每个人都可以看到不应该这样做;) 【参考方案1】:

首先我要说的是,学习如何使用 HTML、脚本和其他代码! 其次(也已经说过),使用正确的代码。

    将脚本添加到您的模板(仅一次!),例如:

&lt;script src="//cdn.jsdelivr.net/npm/jsbarcode@3.11.5/dist/JsBarcode.all.min.js"&gt;&lt;/script&gt;

在模板的末尾执行此操作。

    使用正确的 HTML 代码,例如

&lt;svg class="barcode" jsbarcode-format="code128" jsbarcode-value=" item.model "&gt;&lt;/svg&gt;

每个位置旁边都会显示条形码。

    调用脚本并初始化它:

&lt;script&gt;JsBarcode(".barcode").init();&lt;/script&gt;

在模板的末尾。

    (可选):设置您的条码输出样式,根据此处的说明: JSBarcode

p.s.:我要做的就是将jsbarcode脚本存储在本地,调用本地存储的脚本。

我知道很多用户打算使用 CDN 资源。 不错,但效果不佳,想象一下您想在没有任何互联网连接的情况下在本地显示您的解决方案。 或者 - 想想几周前的大规模排放,那里的重要来源无法获得。

你所拥有的,就是你可以控制的!

pps:使用 dot 代替 # 的区别是,# 表示一个 ID,其中 dot 只是一个 CSS-Class。

【讨论】:

嘿,感谢您的回答,它按要求工作。你能帮我做一件事吗?如何设置条形码样式并调整其高度?与打印输出一样,它占用了页面上的整个空间。 根据此处的站点github.com/lindell/JsBarcode/wiki/Options#height,您可以通过多种不同方式设置您的条码输出样式。高度将是:高度:150(默认为 100)但我不知道您的代码,如果这不起作用,则可能是其他配置错误(例如周围的标签)。

以上是关于如何在opencart的同一页面上两次使用相同脚本中的脚本?的主要内容,如果未能解决你的问题,请参考以下文章

在导致意外行为的对话框上两次添加相同的 ActiveX 控件

Chrome、Chromium、Firefox 在 QtWebApp 上两次请求页面

使用ajax从mysql DB检索和打印数据到文本框(如何在同一个php页面中使用它两次)

确保 cron 作业不会两次执行相同的作业

AngularJS 在同一页面中使用相同的组件

获取远程服务器上两次提交之间的所有提交?