我正在使用turbolinks 5 beta 1,对于某些特定页面,我想加载外部javascript文件.
在我的示例中,我有一个联系人页面,我想通过加载谷歌地图api来显示地图.访问根页面时不应加载它,但稍后在单击指向联系人页面的链接后将其包含在内.
产生一个javascript脚本标签工作在Turbolinks 2.但似乎不再工作了.
有可能检查javascript是否已经加载,否则在需要时异步加载它.
像这样的东西:
loadScript = (src, callback) ->
script = document.createElement("script")
script.type = "text/javascript"
script.onload = callback if callback
document.getElementsByTagName("head")[0].appendChild(script)
script.src = src
initialize = ->
# init map here
load = ->
if $('#gmap').size > 0
if typeof(google) == 'function'
initialize()
else
loadScript 'https://maps.googleapis.com/maps/api/js?&callback=initialize'
$(document).on 'turbolinks:load', -> load()
Run Code Online (Sandbox Code Playgroud)
这是解决这个问题的唯一方法还是有更简单的方法?
我尝试将时间的文本表示解析为ruby Time对象.
通常在ruby中,我会这样做:
require 'time'
Time.parse('2010-12-15T13:16:45Z')
# => 2010-12-15 13:16:45 UTC
Run Code Online (Sandbox Code Playgroud)
在RubyMotion中,我无法使用libs,并且Time.parse不可用:
(main)> require 'time'
=> #<RuntimeError: #require is not supported in RubyMotion>
(main)>
(main)> Time.parse
=> #<NoMethodError: undefined method `parse' for Time:Class>
Run Code Online (Sandbox Code Playgroud)
有没有办法要求ruby提供的时间库,而不必复制和重写整个代码,使其与RubyMotion兼容?