-
Notifications
You must be signed in to change notification settings - Fork 135
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Automatically load script from Google #187
Comments
Yeah, this have been requested before. But for now, I have two proposal. First one: import Vue from 'vue'
import VueRecaptchaPlugin from 'vue-recaptcha'
Vue.use(VueRecpatchaPlugin, {
lang: 'en', // Language can be configured here, it will append to the url params
disableAutoload: true // Or completely disable auto load
}) This one may also register the I also imagine that maybe it will be possible to eliminate this feature as dead code when user only import Second one: import Vue from 'vue'
import VueRecpatcha, { setAutoload } from 'vue-recaptcha'
setAutoload(false) // User can disable this functionality when they need to custom the url
new Vue({
components: {VueRecpatcha} // And use the component like usual
}) Which one do you prefer? Also I'll mark this issue as |
The first way for sure. Then to support the named import + custom script scenario, you can just add a new optional property so they will do Also, it doesn't have to be a breaking change. The autoload could be disabled by default (for now) to keep backward compatibility. (Although in the long run it makes sense to enable it by default.) |
About the language config, I think it shouldn't be a component's prop. Because it is only allow to config with url parameter. It will be a global config that share between all component until you refersh the page. If it is a component prop, someone may think that he/she can bind a data on it and change the language dynamically. It'll be confusing. |
I think that autoload and lang are ok in global config, because you can use the component int more than one place, even sitekey must be placed in the global config |
I suppose will be better to load google recaptcha libraries when component is created first time. |
@yariksav Current design will defer the loading until the first |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Loading recaptcha API from Google can easily be (and should be) automated.
Instead of requiring a user to insert this tag:
vue-recaptcha should simply run
document.createElement('script')
in itsmount()
and insert the script object to the document body. This will also fix "ReCAPTCHA couldn't find user-provided function: vueRecaptchaApiLoaded" race condition.The current architecture is not optimal in two perspectives:
The text was updated successfully, but these errors were encountered: