1

我正在使用 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/

该代码应该可以正常工作,因为这段代码在哈德逊之外工作

4

1 回答 1

-2

尝试代码:

<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>
于 2013-04-02T16:28:34.637 回答