如何从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 运行,因为 &lt;/script&gt; 标签正在关闭把手 &lt;script&gt;

我不能使用 eval(),或者我不明白我应该如何使用 .

所以你有它。我有点卡住了。我不知道如何用backbone.js 实现这个按钮,最后的办法是要求服务器生成带有脚本的html 页面,然后将它们加载到页面中。

我只是拒绝相信 javascript 无法解决这个问题。

请帮忙。

这个问题与我在这个主题中提出的另一个问题有关。

Is it possible to use JavaScript inside handlebars.js template

【问题讨论】:

Handlebarsjs 是一个 LOGICLESS 模板引擎。根本不需要运行 JS 或任何逻辑,请考虑使用不同的模板引擎,例如 EJS 如果将&amp;lt; 替换为&amp;lt; 并将&amp;gt; 替换为&amp;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 =>标签[重复]的主要内容,如果未能解决你的问题,请参考以下文章

从html javascript向nodejs发出请求

javascript运行机制之执行顺序详解

为啥在运行时添加 <script> 标签不会加载 javascript 文件? (使用 react.js)

使用 Scrapy 从 <script> 标签中提取多行 javascript 内容

如何从href调用javascript?

运行 share/scripts/javascript 命令行宏