我看到两个独立的用户,Windows 7 和 Firefox 34,我的 Stripe 初始值设定项有一个Stripe is not defined
错误。
我用.setPublishableKey()
从我的ENV
中取出钥匙,就像这样:
initializer =
name: 'stripe'
initialize: ->
Stripe.setPublishableKey(ENV.STRIPE_PUBLISHABLE_KEY)
`export default initializer`
我像这样包含条纹 JS:
<html>
<head>
{{content-for 'head'}}
<script type="text/javascript" src="https://js.stripe.com/v2/"></script>
可能是什么原因造成的?我该如何解决它?
我知道我可以在设置可发布密钥之前简单地检查是否定义了 Stripe,但这可能不足以让用户使用与 Stripe 相关的功能。
Josh,这似乎是ember-stripe-service
包的初始化方式。
违规行:https://github.com/ride/ember-stripe-service/blob/master/app/initializers/stripe-service.js#L15
此评论中提到了一种解决方法:https://github.com/ride/ember-stripe-service/issues/12#issuecomment-94524196
我遇到了您的问题,上面评论中的修复效果很好。这是我在Coffeescript中的版本
app/initializers/fake-stripe.coffee
`import config from '../config/environment'`
initialize = (container, application) ->
if (config.environment != 'test')
return
if (typeof Stripe != 'undefined')
return
window.Stripe =
setPublishableKey: ->
card: createToken: ->
StripeInitializer =
name: 'fake-stripe'
before: 'stripe'
initialize: initialize
`export {initialize}`
`export default StripeInitializer`