如何从javascript运行<script src =>标签[重复]
Posted
技术标签:
【中文标题】如何从javascript运行<script src =>标签[重复]【英文标题】:How to run <script src= > tag from javascript [duplicate] 【发布时间】:2013-06-27 01:43:50 【问题描述】:我在使用backbone.js 实现Paypal 按钮时遇到了一些困难
问题是按钮是在脚本标签中实现的:
<script src="paypal-button.min.js?merchant=YOUR_MERCHANT_ID" data-button="buynow" data-name="My product" data-amount="1.00"></script>
我无法从 Handlebars.js 运行,因为 </script>
标签正在关闭把手 <script>
我不能使用 eval(),或者我不明白我应该如何使用 .
所以你有它。我有点卡住了。我不知道如何用backbone.js 实现这个按钮,最后的办法是要求服务器生成带有脚本的html 页面,然后将它们加载到页面中。
我只是拒绝相信 javascript 无法解决这个问题。
请帮忙。
这个问题与我在这个主题中提出的另一个问题有关。
Is it possible to use JavaScript inside handlebars.js template
【问题讨论】:
Handlebarsjs 是一个 LOGICLESS 模板引擎。根本不需要运行 JS 或任何逻辑,请考虑使用不同的模板引擎,例如 EJS 如果将&lt;
替换为&lt;
并将&gt;
替换为&gt;
会怎样?
这是一个不同的问题,有不同的答案,我提到了其他帖子,因为它是相关的。
【参考方案1】:
一种选择是创建 equivalent DOMElement in JavaScript 并将其附加到 DOM,例如:
// Start by creating an empty `<script />` tag element
var scriptTag = document.createElement("script");
// You can now start adding attributes to the element:
scriptTag.setAttribute("data-button", "buynow");
// Set the src attribute, note it won't start loading yet.
scriptTag.src = "paypal-button.min.js?merchant=YOUR_MERCHANT_ID";
// In order for it to become part of the page, you need to attach it
// to the DOM, to keep things clean, we will append it to the page's
// <head /> tag.
document.head.appendChild(scriptTag);
【讨论】:
以上是关于如何从javascript运行<script src =>标签[重复]的主要内容,如果未能解决你的问题,请参考以下文章
为啥在运行时添加 <script> 标签不会加载 javascript 文件? (使用 react.js)