我正在尝试使用把手在我的网站上实现谷歌登录功能。
我希望将我的脚本包含在文件中并在https://apis.google.com/js/api:client.js?
加载时加载它,因为它会创建一个我在gapi
中使用的对象js
。
问题是把手没有任何帮助来加载js文件。
我尝试使用帮助程序,但问题是gapi
在注册的帮助程序中未定义,因为在加载客户端库时加载了gapi
。
我试过
<script src="https://apis.google.com/js/api:client.js?onload=after_load"></script>
<script>
function after_load(){
{{helper_name gapi}}
}
</script>
但仍然存在错误,有没有办法在hbs中加载js文件?或者我只需将我的代码放在脚本标签本身?
答案 0 :(得分:2)
在我看来,你把车把与别的东西混淆了。 而不是做这样的事情尝试做这样的事情:
以下是一个例子:
$(document).ready(function () {
var context = { "form" : "<div class='input-container'><div class='label'>User :</div><div class='input'><input type='text' id='username' name='username'></div></div><div class='input-container'><div class='label'>Password :</div><div class='input'><input type='password' id='password' name='password'></div></div>" };
var source = $("#sourceTemplate").html();
var template = Handlebars.compile(source);
var html = template(context);
$("#resultPlaceholder").html(html);
alert("Load is done place your additional scripts calls here");
});
&#13;
.input-container { display: inline-block; }
.label { float: left; width: 100px;}
.input { float: left; width: 300px;}
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.5/handlebars.js"></script>
<script src="https://apis.google.com/js/api:client.js?onload=after_load"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script id="sourceTemplate" type="text/x-handlebars-template">
<div class="container">
{{{form}}}
</div>
</script>
<br/>
<div id="resultPlaceholder">
</div>
&#13;