0

例如:某些服务为我提供了用于呈现订阅表单的 JavaScript 代码:

<script type="text/javascript" src="http://example.com/form.js"></script>

一切都很好!

但我需要从其他来源(例如 ajax)获取此代码并将其动态地放在页面上,但我做不到。

像这样的东西:

var result = '<script type="text/javascript" src="http://example.com/form.js"></script>';
$('#element').html(result);

什么都没有出现。是的,我知道我可以创建脚本元素,然后编辑 src 属性,然后在某处附加元素,但问题是结果可能是 HTML 或 HTML/CSS 或 JavaScript(脚本元素)。

谢谢 :)

4

2 回答 2

0

尝试这个:

<script type="text/JavaScript">
function loadFile(url) {
    function callback() {
        if (req.readyState == 4) { // 4 = Loaded
            if (req.status == 200) {
                if (req.responseText.replace(/(^\s+|\s+$)/g, '').indexOf("<") == 0) {
                    eval(req.responseText); // It's a script, probably
                } else {
                    // It's HTML, probably
                    // Insert req.responseText in some element on your page
                }
            }
        }
    };
    var req = new XMLHttpRequest();
    req.onreadystatechange = callback;
    req.open("GET", url, true);
    req.send("");
}
</script>    

以脚本源 URL 作为参数运行 loadFile() 函数。

于 2013-07-16T19:03:20.100 回答
0

如果您只是想获得对 .js 本身的访问权限,则可以通过 AJAX 请求来读取文件。

这是一个使用 jQueryajax函数的示例。非 jQuery AJAX 请求很容易完成,您只需在 Google 上快速搜索语法。

$.ajax('http://example.com/form.js')
    .done(function(data) { $('#element).html(data); });

如果您需要输出,您可以像对待任何其他文本文件一样对待 JS 文件。

重新阅读您的请求后,您可能希望运行 JS,然后获取生成的任何输出并复制它。如果确实如此,那么它取决于脚本,因为它实际上可以做任何事情,所以我们需要更多关于脚本做什么的信息。

于 2013-07-16T18:57:34.330 回答