【发布时间】:2015-12-10 21:41:02
【问题描述】:
这是我的问题,我有一个 index.html 页面,它显式加载了 reCAPTCHA 脚本:
<script src="https://www.google.com/recaptcha/api.js?onload=loadCaptcha&render=explicit" async defer></script>
我有一个包含 reCAPTCHA 容器元素 (div) 的模板:
<form id="payment-<%= model.Id %>" class="form" action="" method="POST">
...
<div class="captcha-container"></div> //not being used yet
</form>
我有一个主干视图,它将模板注入 index.thml:
'use strict';
var Backbone = require('Backbone');
var Validation = require('backbone-validation');
Backbone.Validation = Validation;
Backbone.$ = $;
module.exports = BaseView.extend({
events: {},
formView: null,
initialize: function (options) {
var loadCaptcha = function() {
window.alert('captcha is ready');
};
},
render: function () {
// renders view using my form template
}
});
此时我什至无法触发回调函数(loadCaptcha),我怀疑问题在于加载顺序,加载索引页面并且“onload = loadCaptcha”事件发生在主干视图之前被初始化。我试过从脚本标签中删除“异步”属性,但没有运气。关于如何让它发挥作用的任何想法?
【问题讨论】:
标签: javascript backbone.js recaptcha