我正在使用 HTML 发布者,希望有一个 html 页面,其中包含一些在 hudson 上运行的 javascript 代码。 HTML代码是这样的:
<html>
<head>
<!--Load the AJAX API-->
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="../stringformat.js"></script>
<script type="text/javascript">
......
sql=String.format("/.csv? select from table where exchange=`ABC......")
</script>
</head>
但是,成功构建后,我的 html 页面没有显示它应该显示的内容,当我检查错误控制台时,它显示
Error: TypeError: String.format is not a function
我已将 stringformat.js 放入顶部文件夹,因为 HTML 发布者似乎不允许该文件包含 HTML 文件以外的任何内容。
谁能告诉我为什么 String.format 没有正确加载?谢谢!
PS:stringformat.js是我从
获得的文件http://www.masterdata.se/r/string_format_for_javascript/
代码应该可以正常工作,因为这段代码在 hudson 之外工作
最佳答案
尝试代码:
<html>
<head>
<title>String format javascript</title>
<script type="text/javascript">
String.format = function() {
var s = arguments[0];
for (var i = 0; i < arguments.length - 1; i++) {
var reg = new RegExp("\\{" + i + "\\}", "gm");
s = s.replace(reg, arguments[i + 1]);
}
return s;
}
var _myString = String.format("hi {0}, i'am {1}","everybody", "stackoverflower");
function show(){
alert(_myString);
}
</script>
</head>
<body>
<input type="button" name="btnTest" id="btnTest" value="Test string format" onclick="show();" />
</body>
</html>
关于javascript - String.format 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15749578/