如何使用 javascript 添加脚本代码
How to add script code using javascript?
我想使用 javascript 添加脚本标签,但我无法让它工作。下面是代码。我想在大商务购物车页面中添加此代码。
var duration = document.getElementsByName("cartdata");
var cartstr = '<!-- MyBuys Page Parameters – Place in <body> element -->';
cartstr += '<script type="text/javascript">';
cartstr += 'mybuys.setPageType("SHOPPING_CART");';
cartstr += 'mybuys.set("email","consumer@example.com"); <!--consumer email can be blank if not known-->';
cartstr += 'mybuys.set("amount","99.34");';
for (var i = 0; i < duration.length; i++) {
str = duration[i].value;
var n = str.split('|');
cartstr += 'mybuys.addCartItemQtySubtotal("'+n[0]+'","'+n[1]+'","'+n[2]+'");'+'<br>';
}
cartstr += '</script>';
cartstr += '<!-- End MyBuys Page Parameters -->';
//alert(cartstr);
var script = document.createElement("script");
script.type = "text/javascript";
script.text = cartstr; // use this for inline script
document.body.appendChild(script);
我希望将以下代码添加到页面:
<!-- MyBuys Page Parameters – Place in <body> element -->
<script type="text/javascript">
mybuys.setPageType("SHOPPING_CART");
mybuys.set("email","consumer@example.com"); <!--consumer email can be blank if not known-->
mybuys.set("amount","99.34");
mybuys.addCartItemQtySubtotal("12345","1","54.34");
mybuys.addCartItemQtySubtotal("56789","3","45.00");
</script>
<!-- End MyBuys Page Parameters -->
这演示了如何动态添加 JavaScript:
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
var optionalFunctionLoaded = false;
var commonFunction = function() {
console.log("test button clicked " + (new Date()).toLocaleString());
if (!optionalFunctionLoaded) {
// get optionalSrc e.g. via AJAX, eventually providing actual input values
var optionalSrc = 'function optFun(){console.log("optional function");}';
// if optionalSrc is not empty
var script = document.createElement("script");
script.innerHTML = optionalSrc;
document.head.appendChild(script);
optionalFunctionLoaded = true;
}
if(optionalFunctionLoaded) optFun();
}
</script>
</head>
<body>
<button id ="testButton">test</button>
<script type="text/javascript">
document.getElementById("testButton").onclick = commonFunction;
</script>
</body>
</html>
使用 Firefox 24.0/Linux 进行测试。
解决方案是将代码添加到页面:
<!-- MyBuys Page Parameters – Place in <body> element -->
<script type="text/javascript">
mybuys.setPageType("SHOPPING_CART");
mybuys.set("email","consumer@example.com"); <!--consumer email can be blank if not known-->
mybuys.set("amount","99.34");
mybuys.addCartItemQtySubtotal("12345","1","54.34");
mybuys.addCartItemQtySubtotal("56789","3","45.00");
</script>
<!-- End MyBuys Page Parameters -->
为什么要使用 JavaScript 把它放在那里?只需将其添加到页面即可。您可能需要通过循环对其进行一些调整:
for (var i = 0; i < duration.length; i++) {
str = duration[i].value;
var n = str.split('|');
mybuys.addCartItemQtySubtotal(n[0],n[1],n[2]);
}
你应该只执行代码,不需要构建字符串。最后,您尝试执行的操作与运行代码相同!只需执行它。
mybuys.setPageType("SHOPPING_CART");
mybuys.set("email","consumer@example.com");
mybuys.set("amount","99.34");
for (var i = 0; i < duration.length; i++) {
str = duration[i].value;
var n = str.split('|');
mybuys.addCartItemQtySubtotal(n[0],n[1],n[2]);
}
我不知道
你为什么要这样做。但如果你真的想,这里有一种方法可以尝试。
$('body').append("console.log('blah');")
或
$('body').html($('body').html()+"console.log('blah');")
将 console.log('blah') 替换为您的代码
请注意,这是假设您使用的是 JQuery。
如果没有,你仍然可以使用Native Javascript来做类似的事情。只需搜索创建一个元素并使用vanila javascript将其添加到另一个元素,您就会在Google上获得大量信息。
虽然,正如 epascarello 所说,这样做不是一个好主意。它基本上是一种代码异味,你可以改进你的代码。
希望这有帮助。
相关文章:
- html或java脚本代码在硬盘中创建一个文本文件
- 在Asp.net的TextBox中插入所需文本的java脚本代码
- 是否有脚本/代码可以一次将链接属性添加到多个链接
- 如何在此脚本代码中正确设置此计算和变量
- 如何使用java脚本代码计算禁用按钮的时间
- 脚本代码冲突
- 启用使用java脚本代码在web浏览器中运行的脚本
- 如何将一行咖啡脚本代码转换为多行
- Java 脚本代码 (显示更多 - 显示更少)
- 更改 URL 哈希更改的脚本代码
- 如何使用 javascript 添加脚本代码
- Java 脚本代码不起作用
- 如何递减 Java 脚本代码中的值
- 将 html 代码转换为操作脚本代码
- 如何从 BSF 后处理器的脚本代码进行断言
- Java 脚本代码不起作用
- 基于 Google 电子表格中公式更改的电子邮件脚本代码
- 如何插入不同的<脚本>代码
- CKEDITOR - 启用插入 Java 脚本代码
- 将 ajax 回调脚本代码放在 rails 3.1 中的位置