我在网址http://www.example.com/script.js上有一个javascript。
运行时,脚本会返回以下格式的UUID:
var uuid="AAAABBBBCCCCDDDD";
每次调用JavaScript都会返回一个随机唯一字符串。
我有一个简单的HTML页面,上面有一个文本框。 我需要在页面加载之前调用JavaScript并将上面的结果放入文本框中。
我尝试使用jQuery:
$.get(URL,callback);
但那不起作用;没有返回任何结果。
如何调用外部JavaScript并将结果放在文本框中?
编辑:这是我使用的代码:
<script language="javascript">
$(window).bind("load",start);
function start()
{
alert("Inside");
alert($.getScript("http://www.example.com/script.js")
}
</script>
我在生成自己的HTML代码的系统中使用此代码,但我无法修改<head>
标记,因此添加JavaScript代码不是一个选项。
我尝试使用上面的但似乎打破了代码,因为没有显示警报。如果我删除了jQuery部分,则会显示“Inside”警报。
我是否需要以某种方式引用jQuery才能使其工作?有没有其他方法可以导入JavaScript代码而无需修改<head>
标记?
答案 0 :(得分:3)
使用$.getScript
。这将加载并执行脚本。它有一个在脚本执行后运行的回调。
function start() {
$.getScript(URL, function() {
$("#textbox").val(uuid);
}
}
显示$.getScript
的返回值无用。它是一个异步函数,它返回表示AJAX调用的jqXHR
对象,而不是与脚本本身相关的任何内容。如果要使用脚本的功能,则必须在回调中执行此操作。
答案 1 :(得分:0)
您是否尝试将脚本放在HTML代码的head部分
答案 2 :(得分:0)
调用外部脚本与导入任何其他脚本相同:
<script src='http://example.com/script.js'></script>
将其放入head
。
要使在该脚本中定义的变量可供其他脚本访问,您可以尝试:
window.uuid = 'blablabla'
虽然您可能想要做其他事情,因为显然全局变量是邪恶的。